本题是一个标准的桶排(详见桶排序详解

#include<stdio.h>
#include<iostream>
using namespace std;
int n;
int tmp;
bool ton[100005];//桶
int maxn;//算法优化:记录最大值,输出时就不需要穷举10^5次了
int main(){
    scanf("%d",&n);
    while(n --){
        scanf("%d",&tmp);
        ton[tmp] = true;//桶排
        maxn = max(maxn,tmp);
    }
    for(int i = 1;i <= maxn;i ++)//输出
        if(ton[i]) printf("%d ",i);
}