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