归并排序实现思想参考:https://blog.csdn.net/qq_16399991/article/details/85051664
<?php
/**
* Created by PhpStorm.
* User: wangan
* Date: 18-12-23
* Time: 下午9:44
*/
function quickSort(&$arr, $start, $end)
{
if($start >= $end){
return ;
}
$pivot = partition($arr,$start, $end);
quickSort($arr, $start, $pivot-1);
quickSort($arr, $pivot+1, $end);
}
function partition(&$arr, $start, $end)
{
$pivot = $end;
$i = $start;
for($j=$start;$j<$end;$j++){
if($arr[$j]<$pivot){
$temp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $temp;
$i++;
}
}
if($arr[$i]> $arr[$pivot]){
$temp = $arr[$i];
$arr[$i] = $arr[$pivot];
$arr[$pivot] = $temp;
}
return $i;
}
$arr = [2,5,3,7,9,45,3];
$end =count($arr)-1;
quickSort($arr, 0, $end);
var_dump($arr);