桶排序思想较为简单,是最简单的一种排序方法,其好处在于容易处理简单的排序,坏处在于对数值较大的排序的话对数组空间要求大,例如对5个0-1000之间的数排序,只需要循环读入五个数,定义一个book[1001]的数组,先将book数组循环置为0,然后读到数n,则book[n]++,最后利用双重循环将数据输出即可,C++语言下编写的代码如下:
#include<iostream>
using namespace std;
int main()
{
int book[1001], i, j, t, n;
for (i = 0; i <= 1000; i++)
{
book[i] = 0;
}
cout << "请输入要排序的个数N" << endl;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> t;
book[t]++;
}
cout<<"输入的数从大到小的排序为:"
for (i = 1000; i >= 0; i--)
for (j = 1; j <= book[i]; j++)
cout << i<<" ";
system("pause");
return 0;
}