题意:
n个居民,给定他们的年龄(1-100),将他们从大到小排序。
思路:
把年龄存进cnt[年龄]数组里,再输出即可。
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
int cnt[101];
int main() {
int n;
while (~scanf("%d", &n)&& n) {
int i,t;
memset(cnt,0,sizeof(cnt));
for (i = 1; i <= n; i++) {
scanf("%d", &t);
cnt[t]++;
}
int flag = 0;
for (i = 1; i <= 100; i++) {
int temp = cnt[i];
while (temp--) {
if (flag)
printf(" ");
flag = 1;
printf("%d",i);
}
}
printf("\n");
}
return 0;
}

本文介绍了一个简单的年龄排序问题及其解决方案。通过使用计数排序的方法,实现了对居民年龄从大到小的快速排序,并详细展示了算法的具体实现过程。
532

被折叠的 条评论
为什么被折叠?



