木桶排序

Posted on Posted in php
Tips: 本文创建于2014年4月14日,已超过 2 年,内容或图片可能已经失效!

php木桶排序

  1. <?php  
  2. /** 
  3. * 木桶排序 
  4. */  
  5. function bucketSort($list) {  
  6. // 找最大值max,最小值min  
  7. $small = min ( $list );  
  8. $big = max ( $list );  
  9. // 初始化桶,下标从小值开始,到大值,所有的值都为0的数组。  
  10. // array_fill(起始下标,填充长度,填充值)  
  11. $bucket = array_fill ( $small$big - $small + 1, 0 );  
  12. // 统计元素出现次数。遍历待排序序列。  
  13. foreach ( $list as $v ) {  
  14. ++ $bucket [$v];  
  15. }  
  16. // 从桶中依次取得N个元素即可  
  17. $result = array ();  
  18. foreach ( $bucket as $k => $v ) { // $v次数, $k哪个数  
  19. for($i = 1; $i <= $v; ++ $i) {  
  20. $result [] = $k;  
  21. }  
  22. }  
  23. return $result;  
  24. }  
  25. ?>  
» 转载请注明来源:若我若鱼 » 木桶排序

Leave a Reply

Your email address will not be published. Required fields are marked *

8 + 6 =