问题描述:一个城市里有 n(n>=100000 , 且最大年龄为100岁) 个人,现在要统计他们的年龄。
使用了**哈希表(散列表)**的思想!
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
for(; n != 0;)
{
int age[101] = {0};
int s[n];
int max = 0;
for(int i = 0; i < n; i ++)
{
scanf("%d", &s[i]);
if(max < s[i])
max = s[i];
age[s[i]] ++;
}
for(int i = 1; i < max; i ++)
{
for(int j = 0; j < age[i]; j ++)
{
printf("%d ", i);
}
}
if(age[max] > 1){
for(int j = 0; j < age[max]-1; j ++)
{
printf("%d ", max);
}
printf("%d", max);
}
else
printf("%d\n", max);
scanf("%d", &n);
}
return 0;
}