参考 http://www.cnblogs.com/kkun/archive/2011/11/23/2260267.html
http://blog.csdn.net/houapple/article/details/6480100?reload
http://www.cs.usfca.edu/~galles/visualization/BucketSort.html
http://www.exforsys.com/tutorials/c-algorithms/bucket-sort.html
个人理解:需求不同,实现方式也不同,但原理是一样
能符合要求,简单快速实现的方式才是最好的实现方式.
网上找到了能反映桶原理的例子:
#define MAXLENGTH 10
int main(int argc, const char * argv[])
{
@autoreleasepool {
int a[MAXLENGTH]={8,6,4,7,2,5,7,2,9,3};
int bucket[MAXLENGTH];
for(int i=0; i<MAXLENGTH;i++) bucket[i]=0;
for(int j=0 ;j<MAXLENGTH;j++) ++bucket[a[j]];
for(int i=0, j=0; j<MAXLENGTH; j++)
for(int key=bucket[j];key>0;key--)
a[i++]=j;
}
return 0;
}