算法-简易桶排序

算法第一篇

简易桶排序

桶排序就是相当于有很多的桶,每个桶都有序号,当你的数是与这个痛的编号相同,则将这个数放入到桶内,这样最后按照同序号的大小输出桶内的数就能达到排序的效果了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//现在有十个数3 2 9 5 1 0 5 4 2 9
int a[10] , i , j ;
for(i = 1,i <= 10;i++){
int n =0;
cin>>n;
a[n]++;
}
for(j = 0;j <= 9; j++){
for(int m = 1;m <= a[j];m++){
cout<<j;
}
}
//输出结果便为0 1 2 2 3 4 5 5 9 9

这个算法的时间复杂度为O(m+n),是一个小算法,实用性不大,因为当最大的数为1000时就需要定义一个1000的数组,这样太浪费空间,而且这个排序仅仅止步于排序,不能携带其他的功能。