<?php
$arr = range(1, 10);
shuffle($arr);
var_dump($arr);
function quickSort(&$arr,$start,$end)
{
$i = $start;
$j = $end ;
$tmp = $arr[$i];
if($i<$j){
while($i!=$j){
while($i<$j&&$arr[$j]>$tmp){ //把比tmp小的数都放到 左边
$j--;
}
$arr[$i] = $arr[$j];
while($i<$j&&$arr[$i]<$tmp){ //把tmp 大的数都放到右边
$i++;
}
$arr[$j] = $arr[$i];
}
$arr[$i] = $tmp;
if($i-1>$start){
quickSort($arr, $start, $i-1);
}
if($i+1<$end){
quickSort($arr, $i+1, $end);
}
}
}
quickSort($arr, 0, 9);
var_dump($arr);
?>
PHP QuickSort 递归简单实现
最新推荐文章于 2021-04-12 22:13:03 发布