php快速排序

//快速排序算法
function quickSort(&$a, $l, $r){
if(
$l >= $r) return;
$m = pation($a, $l, $r);
quickSort($a, $l, $m-1);
quickSort($a, $m+1, $r);
}

function
pation(&$a, $l, $r){
$pivot = $a[$l];
$i = $l + 1;
$j = $r;
while(
1){
while(
$a[$i] > $pivot && $i < $j) $i++;
while(
$a[$j] < $pivot) $j--;
if(
$i>=$j) break;
$temp = $a[$i];
$a[$i]= $a[$j];
$a[$j]= $temp;
}
$a[$l] = $a[$j];
$a[$j] = $pivot;
return
$j;
}

你可能感兴趣的:(快速排序)