用PHP写一个快速排序算法
时间: 2023-06-30 13:05:46 浏览: 54
以下是用 PHP 实现快速排序算法的示例代码:
```php
function quickSort($array) {
// 基线条件:如果数组为空或只有一个元素,则已排序
$length = count($array);
if($length <= 1) {
return $array;
}
// 选择最后一个元素作为基准值
$pivot = $array[$length-1];
$left = $right = [];
// 将数组分成左、右两部分
for($i = 0; $i < $length-1; $i++) {
if($array[$i] < $pivot) {
$left[] = $array[$i];
} else {
$right[] = $array[$i];
}
}
// 递归地对左、右两部分进行快速排序
return array_merge(quickSort($left), [$pivot], quickSort($right));
}
// 示例
$array = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
$result = quickSort($array);
print_r($result); // 输出:Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 3 [4] => 3 [5] => 4 [6] => 5 [7] => 5 [8] => 5 [9] => 6 [10] => 9 )
```
以上代码实现了一个简单的快速排序算法,通过递归地将数组分成左右两部分,并对每一部分进行排序,最终合并得到有序的结果。