欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

最快最简单的排序——桶排序

程序员文章站 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;
}