PHP 快速排序算法

function quickSort($arr) {
    $len = count($arr); //check length
    if($len <= 1) {
        return $arr;
    }

    $base = $min = $max = []; //make arr

    $base_item = $arr[0]; //set pivot

    for($i = 0; $i < $len ; $i++) { //sort
        if($arr[$i] < $base_item) {
            $min[] = $arr[$i];
        }elseif($arr[$i] > $base_item) {
            $max[] = $arr[$i];
        }else {
            $base[] = $arr[$i];
        }
    }

    $min = quickSort($min); //sort min
    $max = quickSort($max); //sort max
    return array_merge($min,$base,$max);
}

你可能感兴趣的:(php,排序,算法,快速排序)