用php写一个快速排序
时间: 2023-11-23 15:02:12 浏览: 26
好的,以下是一个用 PHP 写的快速排序的例子:
```
function quickSort($arr){
$len = count($arr);
if($len <= 1){
return $arr;
}
$mid = $arr[0];
$left_arr = array();
$right_arr = array();
for($i=1;$i<$len;$i++){
if($arr[$i]<$mid){
$left_arr[] = $arr[$i];
}else{
$right_arr[] = $arr[$i];
}
}
$left_arr = quickSort($left_arr);
$right_arr = quickSort($right_arr);
return array_merge($left_arr,array($mid),$right_arr);
}
$arr = array(5,1,8,2,7,3,6,4);
$arr = quickSort($arr);
print_r($arr);
```
这个代码会对一个数组进行快速排序,将数组按照升序排列。如果你有任何问题或需要进一步解释,可以给我留言。
相关问题
用PHP写一个快速排序
以下是用PHP编写的快速排序代码:
function quickSort($arr) {
$len = count($arr);
if ($len <= 1) {
return $arr;
}
$pivot = $arr[0];
$left_arr = array();
$right_arr = array();
for ($i = 1; $i < $len; $i++) {
if ($arr[$i] < $pivot) {
$left_arr[] = $arr[$i];
} else {
$right_arr[] = $arr[$i];
}
}
return array_merge(quickSort($left_arr), array($pivot), quickSort($right_arr));
}
$arr = array(3, 0, 2, 5, -1, 4, 1);
print_r(quickSort($arr));
// 输出结果:Array ( [0] => -1 [1] => 0 [2] => 1 [3] => 2 [4] => 3 [5] => 4 [6] => 5 )
用PHP写一个快速排序算法
以下是用 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 )
```
以上代码实现了一个简单的快速排序算法,通过递归地将数组分成左右两部分,并对每一部分进行排序,最终合并得到有序的结果。