c++桶排序实例源码介绍



c++桶排序实例源码介绍。也许是因为我个人头脑很笨或者是因为我学c++不到家,今天看了一个多小时才明白什么是桶排序,以及c++桶排序的原理。哎!算法这东西真的很难搞!加油吧!

桶排序的思想是若待排序的记录的关键字在一个明显有限范围内(整型)时,可设计有限个有序桶,每个桶装入一个值(当然也可以装入若干个值),顺序输出各桶的值,将得到有序的序列。
c++桶排序实例源码:输入n个0到100之间的不相同整数,由小到大排序输出。
#include<iostream>
#include <cstring>
using namespace std;
Int main()
{
    int b[101],k,I,n;
    memset(b,0,sizeof(b));                    //初始化
    cin>>n;
     for( i=1;I<=n;i++)
       {
           cin>>k;   b[k]++;                //将关键字等于k的值全部装入第k桶
        }
  for( i=0; I<=100;i++)
     while (b[i]>0)  {cout<<i<<”  ” ;b[i]–;}    //输出排序结果
  cout<<endl;
}
要注意的是:c++桶排序要满足的条件是:一个明显有限范围内(整型)。