PHP

php快速排序的方法是什么

小亿
85
2024-02-20 09:38:33
栏目: 编程语言

快速排序是一种常用且高效的排序算法,其基本思想是通过一次排序将数组分割成两个较小的子数组,然后分别对这两个子数组进行排序,最终将整个数组排序完成。

以下是使用PHP实现快速排序的方法:

function quickSort($arr) {
    if (count($arr) <= 1) {
        return $arr;
    }
    
    $pivot = $arr[0];
    $left = $right = array();
    
    for ($i = 1; $i < count($arr); $i++) {
        if ($arr[$i] < $pivot) {
            $left[] = $arr[$i];
        } else {
            $right[] = $arr[$i];
        }
    }
    
    return array_merge(quickSort($left), array($pivot), quickSort($right));
}

$arr = array(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
$sortedArr = quickSort($arr);
print_r($sortedArr);

以上代码实现了一个简单的快速排序算法,在每次递归调用中,选择数组的第一个元素作为基准元素(pivot),然后将比基准元素小的元素放到左边数组中,比基准元素大的元素放到右边数组中,最后合并左右两个数组并加上基准元素即可得到排序后的数组。

0
看了该问题的人还看了