php 快排

时间:2024-08-29 14:05:44
<?php
$arr =array(3,1,5,67,8,7,9,9);
function qsort(&$arr,$head,$tail){
if($head>=$tail){
return;
}
$i=$head;
$j=$tail;
$base = $arr[$head];
while($i<$j){
while($i<$j&&$arr[$j]>=$base){
$j--;
}
$arr[$i]=$arr[$j];
while($i<$j&&$arr[$i]<=$base){
$i++;
}
$arr[$j]=$arr[$i];
}
$arr[$i]=$base;
qsort($arr,$head,$i-1);
qsort($arr,$i+1,$tail);
}
qsort($arr,0,count($arr)-1);
echo count($arr)."\n";
foreach($arr as $key=>$value){
echo "$value ";
}

  

8
1 3 5 7 8 9 9 67