// tongpaixu.cpp : 定义控制台应用程序的入口点。
//桶排序算法,VS2012编译通过
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int a[11],i,j,t;
for(i=0;i<=10;i++) {
a[i] = 0; //初始化为0
}
for(i=1;i<=5;i++) {
scanf_s("%d", &t); //把一个数读取到变量t中
a[t]++;
}
for(i=0;i<=10;i++){
for(j=1;j<=a[i];j++){
printf("%d ", i);
}
}
getchar();
getchar();
return 0;
}
桶一种排序是速度最快的一种算法,时间复杂度为O(M+N),但也通过牺牲空间获得了时间,如果要排序的数据最大为100000,那么要定义a[100000]的数组,无疑造成巨大的内存空间浪费。
浙公网安备 33010602011771号