<?php
function quickSort($arr){
$count=count($arr);
if($count>1){
//以第一个数作为基准
$mark=$arr[0];
//定义两个空数组来存放基准数两边的数据
$right=array();
$left=array();
//开始循环比较,从大到小排序
for ($i = 1; $i < $count; $i++) {
if($mark>$arr[$i]){
$right[]=$arr[$i];
}else{
$left[]=$arr[$i];
}
}
//一趟快速排序结束
//递归快速排序
$right=quickSort($right);
$left=quickSort($left);
//把最后的结果组合为一个数组
$result=array_merge($left,array($mark),$right);
}else{
$result=$arr;
}
//返回结果
return $result;
}
//定义一个数组
$arr=array(8,2,1,5,7,6,4,9,3);
$result=quickSort($arr);
var_dump($result);