看完啊哈算法:这时候应该总结一波,感谢兵哥
桶排序:
代码如下:
#include <stdio.h>
int main()
{
int book[1001];//桶的个数
int i,j,t,n;
for(i=0;i<=1000;i++)
book[i] = 0;
scanf("%d",&n);//输入n个数
for(i=1;i<=n;i++)
{
scanf("%d",&t);
book[t]++; //进行计数
}
for(i=100;i>=0;i--)//依次判断编号1000-0的桶
for(int j=0;j<=book[i];j++) //出现了几次桶就打印几次
printf("%d",i);
getchar();
return 0;
}
桶排序中复杂度最多循环的次数是双层循环:m+n;(m为桶的个数,n为待排序的个数) 时间复杂度很小,但是空间复杂度很大。
就这样啦。