php桶排序简单实现
转载地址:https://www.cnblogs.com/ddddemo/p/6580737.html
桶排序中最重要的环节是映射函数。
初步学习桶排序的过程中,映射比较简单。实现代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
/** * 第一种桶排序的办法,每个桶存储相同值的数据 * */function bucketSort($nonSortArray){ //选出桶中最大值和最小值 $min = min($nonSortArray); $max = max($nonSortArray); //生成桶,默认每个桶中数据只有0个 $bucket = array_fill($min, $max-$min+1, 0); //数据入桶 foreach ($nonSortArray as $value){ $bucket[$value]++;//对应桶的个数计增 } //数据出桶 $sortArray = array(); foreach ($bucket as $k=>$v){ for($i=1;$i<=$v;$i++){ //每个桶中的数据个数 $sortArray[]=$k; } } return $sortArray;}$array = array(58,5,96,75,4,69,82,35,64,15,23,69,8,5,2,52);$arr = bucketSort($array);echo implode(",", $arr);
|
成为不了聪明的人,那就做一个有耐心、肯钻研,坚持不懈,永不放弃的人……

浙公网安备 33010602011771号