日期:2014-05-17 浏览次数:20583 次
function quick(&$arr,$low,$high){
$key = $low;
for($i=$low,$j=$high;$i!=$j;){
for(;$j>$key;){
if($arr[$j]<$arr[$key]){
list($arr[$j],$arr[$key])=swap($arr[$j],$arr[$key]);
$key = $j;
break;
}else{
$j--;
}
}
for(;$i<$key;){
if($arr[$i]>$arr[$key]){
list($arr[$i],$arr[$key])=swap($arr[$i],$arr[$key]);
$key = $i;
break;
}else{
$i++;
}
}
}
if($high>$low){
quick($arr,$low,$key-1);
quick($arr,$key+1,$high);
}
}
$arr = array(7,4,9,1,3,2,6,8,0);
quick($arr,0,8);
print_r($arr);