题意:
给年龄排序
思路:
用sort会超时,所以是不可行的.
由于年龄最大范围可以确定,所以可以用下标记录每个年龄的个数,然后按从小到大输出
代码:
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdio>
using namespace std;
int age[110];
int main() {
int n, a;
while(scanf("%d", &n) && n) {
bool flag = true;
memset(age, 0, sizeof(age));
for(int i=0; i<n; i++) {
scanf("%d", &a);
age[a]++;
}
for(int i=0; i<110; i++) {
if(age[i]==0) continue;
if(flag) {
printf("%d", i);
age[i]--;
flag = false;
}
while(age[i] != 0) {
printf(" %d",i);
age[i]--;
}
}
printf("\n");
}
return 0;
}