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

来源:互联网 发布:mac地址泄露 编辑:程序博客网 时间:2024/05/21 12:41

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

Time Limit: 150MSMemory Limit: 65536KB 

Problem Description

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

Input

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

Output

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

 

Example Input

1016 71 17 16 18 18 19 18 19 20

Example Output

16 217 118 319 220 171 1
刚开始提交时是用的cin cout 但是出现时间超限 所以改成scanf() printf()的方式。
AC代码:
#include<iostream>#include<cstdio>#include<string.h>using namespace std;int main(){    int n,e;int a[101];memset(a,0,sizeof(a));      //数组元素的初始化//cin>>n;scanf("%d",&n);for(int i=0;i<n;i++){    //cin>>e;scanf("%d",&e);if(e>=100)a[100]++;elsea[e]++;}for(int j=0;j<=100;j++)    if(a[j]!=0)//cout<<j<<" "<<a[j]<<endl;printf("%d %d\n",j,a[j]);return 0;}

原创粉丝点击