下面是一个简单的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
函数对数组进行排序,并打印排序后的结果。