箱排序的PHP实现 Bin Sort Bucket sort

箱排序(Bin Sort)的PHP实现,又称为Bucket sort桶排序

view source
print ?
01 function out_arr($arr) {
02     return implode(', '$arr).'
03 ';
04 }
05  
06 function sort_bin($arr) {
07     $boxes array();
08     foreach ($arr as $v) {
09         $boxes[$v][] = $v;
10     }
11      
12     $ret array();
13     $min = min($arr);
14     $max = max($arr);
15     for $i $min$i <= $max$i++ ) {
16         if( isset($boxes[$i]) ) {
17             $ret array_merge($ret$boxes[$i]);
18         }
19     }
20     return $ret;
21 }
22  
23 echo '<pre>';
24 $arr = range(1, 20);
25 shuffle($arr);
26 echo 'ORG : '.out_arr($arr);
27 $arr = sort_bin($arr);
28 echo 'RET : '.out_arr($arr);
29 echo '</pre>';

你可能感兴趣的:(箱排序的PHP实现 Bin Sort Bucket sort)