桶排序

 1 Input
 2 第一行一个整数N,代表要排序的整数个数。
 3 第二行包含N个整数,请你为这N个整数按从大到小排序。
 4 Output
 5 输出降序排列后的结果。
 6 Sample Input
 7 10
 8 8 100 50 22 15 6 1 1000 999 0
 9 Sample Output
10 1000 999 100 50 22 15 8 6 1 0
题目
1     cin>>n;
2     for(int i=1,k;i<=n;++i)
3     {
4         cin>>k;t[k]++;
5      }
6     for(int i=1000;i>=0;--i)
7      for(int j=1;j<=t[i];++j)
8       cout<<i<<" ";
View Code

 桶排序是用一个桶记录某个数字出现了多少次,

即是t[k]++;

在数据较小的范围下,还是很好用的

假设数据范围<=n;出现次数最多的一个数出现了m次

时间复杂度O(n*m);

posted @ 2019-10-13 10:59  月亮茶  阅读(224)  评论(0编辑  收藏  举报