共計(jì) 636 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
在 PHP 中,可以使用快速排序算法來對(duì)數(shù)組進(jìn)行排序。以下是一個(gè)使用遞歸實(shí)現(xiàn)的快速排序算法的示例:
function quickSort($array)
{
// 如果數(shù)組為空或只有一個(gè)元素,則無需排序,直接返回
if (count($array) <= 1) {return $array;}
// 選擇第一個(gè)元素作為基準(zhǔn)值
$pivot = $array[0];
$left = $right = [];
// 將比基準(zhǔn)值小的元素放在左邊,比基準(zhǔn)值大的元素放在右邊
for ($i = 1; $i < count($array); $i++) {if ($array[$i] < $pivot) {$left[] = $array[$i];
} else {$right[] = $array[$i];
}
}
// 遞歸對(duì)左右兩個(gè)子數(shù)組進(jìn)行快速排序,并拼接結(jié)果
return array_merge(quickSort($left), [$pivot], quickSort($right));
}
// 示例用法
$array = [3, 1, 5, 2, 4];
$result = quickSort($array);
print_r($result);
輸出結(jié)果為:Array ([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ),表示數(shù)組已經(jīng)按照升序排列。
在上述示例中,首先選擇數(shù)組的第一個(gè)元素作為基準(zhǔn)值,并將比基準(zhǔn)值小的元素放在左邊,比基準(zhǔn)值大的元素放在右邊。然后,遞歸對(duì)左右兩個(gè)子數(shù)組進(jìn)行快速排序,并將結(jié)果拼接起來。最后,返回完全排好序的數(shù)組。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完