桶排序使排序算法里面最快最简单的排序算法。
桶排序,定义一个一维数组,初始值全部为0,把数组号与要比较的数据做映射,若相等,则该数组的值加一,以此类推,直到所有的数都比较完。
基础版本,已知输入N个数字,从小到大排列输入的这几个数。
#include<iostream>
using namespace std;
int const Q=1001;
int a[Q]={0};
int main()
{
int N,t;
cin>>N;
getchar();
for(int i=1;i<=N;i++)
{
cin>>t;
a[t]++;
}
//for(int i=0;i<Q;i++)
//cout<<a[i]<<" ";
for(int i=0;i<Q;i++)
{
while(a[i]!=0)
{
cout<<i<<" ";
a[i]--;
}
}
return 0;
}
这是一个简单的桶排序,应付日常排序应该不成问题了。