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++桶排序要满足的条件是:一个明显有限范围内(整型)。