php快速排序算法

1.php

function quickSort($arr)
{
    $len = count($arr);

    // 设定结束条件
    if($len <= 1){
        return $arr;
    }

    // 选择第一个元素作为基准
    $pivot = $arr[0];

    // 初始化左数组和右数组
    $left = $right = [];

    // 遍历基准意外的其他元素,按照大小放入左右
    for ($i = 1; $i < $len; $i++) {
        if($arr[$i] < $pivot){
            $left[] = $arr[$i];
        }else{
            $right[] = $arr[$i];
        }
    }

    // 再分别对左右数组排序
    $left = quickSort($left);
    $right = quickSort($right);

    // 合并基准数组和左右数组
    return array_merge($left, array($pivot), $right);
}


打赏

看恩吧
网站不承担任何有关评论的责任
  • 最新评论
  • 总共条评论
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦