快速排序-PHP版

Posted Gabriel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序-PHP版相关的知识,希望对你有一定的参考价值。

<?php
function quickSort(&$array,$left,$right) {
    if ($left > $right) return;
    $middle = partition($array,$left,$right);
    quickSort($array,$left,$middle-1);
    quickSort($array,$middle+1,$right);
}
function partition(&$array,$left,$right) {
    $v = $array[$left];
    $j = $left;
    for ($i=$left;$i<=$right;$i++) {
        if($array[$i] < $v) {
        $temp = $array[$j+1];
        $array[$j+1] = $array[$i];
        $array[$i] = $temp;
        $j++;
    }
 } 
    $temp = $array[$j];
    $array[$j] = $array[$left];
    $array[$left] = $temp;
    return $j;
}

function makeArray($n) {
    $array = [];
    for ($i = 0;$i<$n;$i++) {
        $array[$i] = mt_rand(0,$n);
    }
    return $array;
}

$array = makeArray(100);
quickSort($array,0,count($array)-1);
echo implode(\',\',$array);

以上是关于快速排序-PHP版的主要内容,如果未能解决你的问题,请参考以下文章

5 行代码实现快速排序(简易版)

递归版快速排序-JS代码

快速排序思路(挖坑版),代码实现

2.排序算法实现(JavaScript版)-冒泡-选择-快速排序

基于比较的七种常见排序算法

基于比较的七种常见排序算法