算法基礎-快速排序-PHP實現

算法原理

通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。

PHP實現快速排序

<?php
function quickSort($arr){
    if(count($arr)>1){
        $k=$arr[0];
        $x=array();
        $y=array();
        $count=count($arr);
        for($i=1;$i<$count;$i++){
            if($arr[$i]<=$k){
                $x[]=$arr[$i];
            }else{
                $y[]=$arr[$i];
            }
        }
        $x=quickSort($x);
        $y=quickSort($y);
        return array_merge($x,array($k),$y);
    }else{
        return $arr;
    }
}

$arr = [15, 33, 6, 43, 666, 4, 28, 39, 99, 2];

$res = quickSort($arr);
print_r($res);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章