下面是一個簡單的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
函數對數組進行排序,并打印排序后的結果。