桶排序写法

$arr= [10,2,5,55,3,44,44,33];

#桶排序
function bucketSort($arr)
{
    //得到数组最大值
  $max=max($arr);
    $i=0;
    $arr1=[];
    while($i<=$max){
        $arr1[$i]=0;
        $i++;
    }
    foreach($arr as $k=>$v){
        $arr1[$v]++;
    }
    /**
     * 正序
     */
    foreach($arr1 as $key=>$value){
        while($value){
            echo $key,',';
           $value--;
        }
    }
    /**
     * 倒叙
     */
    while($max){
        while($arr1[$max]){
            echo $max,',';
            $arr1[$max]--;
        }
        $max --;
    }


}

猜你喜欢

转载自blog.csdn.net/weixin_42262935/article/details/80525344