$arr = [0,56,12,5,45];
function kuaisu($arr)
{
$count = count($arr);
if ($count < 2) {
return $arr;
}
$left = $right = array();
$middle = $arr[0];// 基准值
for ($i = 1; $i < $count; $i++) {
// 小于基准值,存入左边;大于基准值,存入右边
if ($arr[$i] < $middle) {
$left[] = $arr[$i];
} else {
$right[] = $arr[$i];
}
}
$left = $this->kuaisu($left);
$right = $this->kuaisu($right);
return array_merge($left, array($middle), $right);
}