桶排序其工作原理是将数组分到有限数量的桶里,每个桶里的数据再根据需求进行排序。
思路:
1、创建0-10的新数组res,并设置初始值为0。
2、循环处理arr数组元素,将其放入对应的桶里。例,arr[0]=5,res[5]=1;arr[1]=7.res[7]=1;……arr[6]=7,res[7]=2。
3、循环res,res[n]里出现几就打印几次。
<?php
$arr = array(5,7,3,6,9,6,7);
$res = array_fill(0,10,0);
$new = array();
foreach($arr as $val){
$res[$val] +=1;
};
foreach($res as $key=>$val){
if($val>0){
for($i=0;$i<$val;$i++){
$new[]=$key;
}
}
}
print_r($new);
?>