// 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]的数组,无疑造成巨大的内存空间浪费。