PHP

php快速排序算法代码怎么写

小亿
85
2023-12-21 19:36:28
栏目: 编程语言

下面是一个简单的PHP实现快速排序的代码示例:

function quickSort($array) {
    // 如果数组长度小于等于1,则直接返回
    if (count($array) <= 1) {
        return $array;
    }
    
    // 选择一个基准值
    $pivot = $array[0];
    
    // 初始化左右子数组
    $left = [];
    $right = [];
    
    // 将比基准值小的元素放在左子数组,比基准值大的元素放在右子数组
    for ($i = 1; $i < count($array); $i++) {
        if ($array[$i] < $pivot) {
            $left[] = $array[$i];
        } else {
            $right[] = $array[$i];
        }
    }
    
    // 递归地对左右子数组进行快速排序,并合并结果
    return array_merge(quickSort($left), [$pivot], quickSort($right));
}

// 测试代码
$array = [5, 2, 9, 1, 7, 6, 3];
$sortedArray = quickSort($array);
print_r($sortedArray);

这段代码定义了一个名为quickSort的函数,该函数使用递归的方式实现了快速排序算法。首先,函数判断输入数组的长度是否小于等于1,如果是则直接返回。然后,选择数组的第一个元素作为基准值。接下来,函数将比基准值小的元素放在左子数组,比基准值大的元素放在右子数组。最后,递归地对左右子数组进行快速排序,并将结果合并返回。

在测试代码中,我们定义了一个包含一些随机数的数组,然后调用quickSort函数对数组进行排序,并打印排序后的结果。

0
看了该问题的人还看了