[算法]桶排序

参考 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;
}


 

posted @ 2013-03-20 00:25  金建彤  阅读(163)  评论(0编辑  收藏  举报