数据结构实验之排序三:bucket sort C

数据结构实验之排序三:bucket sort C,第1张

概述本文章向大家介绍数据结构实验排序三:bucket sort C,主要包括数据结构实验之排序三:bucket sort C使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

数据结构实验之排序三:bucket sort

Time limit: 250 ms Memory limit: 65536 KiB

submit Statistic

Problem Description

根据人口普查结果,知道目前淄博市大约500万人口,你的任务是帮助人口普查办公室按年龄递增的顺序输出每个年龄有多少人,其中不满1周岁的按0岁计算,1到2周岁的按1岁计算,依次类推,大于等于100岁的老人全部按100岁计算。

input

 输入第一行给出一个正整数N(<=5000000),随后连续给出N个整数表示每个人的年龄,数字间以空格分隔。

Output

 按年龄递增的顺序输出每个年龄的人口数,人口数为0的不输出,每个年龄占一行,数字间以一个空格分隔,行末不得有多余空格或空行。

Sample input

10

16 71 17 16 18 18 19 18 19 20

Sample Output

16 2

17 1

18 3

19 2

20 1

71 1

Hint

#include

#include

#include

int a[5100000];

int main()

{

int n,i,x;

scanf("%d",&n);

memset(a,sizeof(a));

for(i=0; i

{

scanf("%d",&x);

a[x]++;//桶排法

}

int s=0;

for(i=100; i<300; i++)//考虑到老人们的年纪也就在100~200之间我这还是夸大啦哈哈哈,以防止他出现刁遵的数据嘛~

{

if(a[i]>0)

s=s+a[i];//题目中提到大于等于100岁的老人全部按100岁计算

}

a[100]=s;

for(i=0; i<=100; i++)

{

if(a[i]>0)

printf("%d %dn",a[i]);

}

return 0;

}

非常简单一道题目哈但是要注意把文中数据巧妙排列~桶排是一个解决这种问题不错的方法,还要学习一下暴力枚举的方法~

总结

以上是内存溢出为你收集整理的数据结构实验之排序三:bucket sort C全部内容,希望文章能够帮你解决数据结构实验之排序三:bucket sort C所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1264527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存