php代码
function quickSort2(array $arr)
{
$len = count($arr);
if($len <= 1){
return $arr;
}
$temp = $arr[0];
$left = [];
$right = [];
for ($i = 1; $i < $len; ++$i) {
if ($arr[$i] < $temp) {
$left[] = $arr[$i];
} else {
$right[] = $arr[$i];
}
}
$left = quickSort2($left);
$right = quickSort2($right);
return array_merge($left, array($temp), $right);
}
print_r(quickSort2([4, 2, 8, 0, 5, 7, 1, 3, 9]));
python代码
def quick_sort(arr: List[int], start: int, end: int):
i = start
j = end
temp = arr[start] # 基准数
if i < j:
while i < j:
while i < j and arr[j] >= temp:
j -= 1
if i < j:
arr[i] = arr[j]
i += 1
while i < j and arr[i] < temp:
i += 1
if i < j:
arr[j] = arr[i]
j -= 1
arr[i] = temp
quick_sort(arr, start, i - 1)
quick_sort(arr, i + 1, end)
return arr
# print(quick_sort([11, 3, 5, 10, 16, 7, 32, 83, 23, 54, 29, 96], 0, 11))
print(quick_sort([4, 2, 8, 0, 5, 7, 1, 3, 9], 0, 8))