C. 排序
时间限制 1000 ms内存限制
65536 KB
题目描述
给你n个数,请你将他们从小到大输出出来。
输入格式
多组数据。
输入第一行为n,接下来一行给出n个数,每个数在0到10000。
输入文件大小为8.2MB。
输出格式
输出一行,排序之后的n个数。
输入样例
3
4 2 1
输出样例
1 2 4
桶排序
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int a[10005],b[10005],n,i,j,X;
int main(){
memset(a, 0, sizeof a);
while (~scanf("%d",&n)){
int maxn=0,num=0;
for(i=0;i<n;i++){
scanf("%d",&X);
if(!a[X])b[num++]=X;
a[X]++;
}
sort(b,b+num);
for(j=0;j<num;j++)
while(a[b[j]]){
a[b[j]]--;
n--;
printf("%d%c",b[j],n==0?'\n':' ');
}
}
return 0;
}