最快最简单的排序——桶排序
程序员文章站
2022-05-13 22:02:26
...
数进行从大到小排序
如果需要对数据范围在 0~1000 之间的整数进行排序,我们需要 1001 个桶,来表示 0~1000 之间每一个数出现的次数。
此处的每一个桶的作用其实就是“标 记”每个数出现的次数,因此变量命名为book(book 这个单词有记录、标记的意思),代码实现如下。
#include<stdio.h>
int main()
{
int book[1001] , i , j , t , n ;
for(i = 0; i<=1000; i++)
book[i] = 0;
scanf("%d",&n);//输入需要排序的个数
for(i = 1; i<=n; i++)
{
scanf("%d",&t);//把输入赋值给t桶里
book[t]++;//桶里的数量加一
}
for(i=1000; i>=0; i--)
for(j = 1;j<=book[i]; j++)//如果桶里数量大于等于一,则输出
printf("%d ", i);
getchar();
return 0;
}
上一篇: Ant Design入门之开始使用
下一篇: 最快最简单的排序-桶排序