本题是一个标准的桶排(详见桶排序详解 )
#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);
}
京公网安备 11010502036488号