您的位置:首页 > 其它

啊哈!算法—桶排序

2016-04-27 12:52 176 查看
桶排序:

有多少个数进行排序,就设置多少个桶。每出现一个数,就 向桶中加一面小旗子,即小旗子表示每一个数出现的次数。

代码:

<pre name="code" class="cpp">#include <iostream>
using namespace std;
int main()
{
int book[1001],i,j,t,n;
for(i=0;i<=1000;i++)
book[i]=0;
cin>>n;            //输入一个数n,表示接下来有n个数
for(i=1;i<=n;i++)   //循环读入n个数,并进行桶排序
{
cin>>t;         //把每个数读到变量t中
book[t]++;      //进行计数,对编号为t的桶放一个小旗子
}
for(i=1000;i>=0;i--)   //依次判断编号1000~0的桶
for(j=1;j<=book[i];j++)   //出现了几次就将桶的编号打印几次
cout<<i<<" ";
cout<<endl;
return 0;
}



运行结果:



注意:

桶排序对于较少的数来说非常方便,但是数越多,所占用的空间越来越大,非常浪费。而且桶排序不可比较除整数之外的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法