<?php
$arr = array('1', '-1', '3', '-2');
function inPlaceQuicksort($arr){
inPlaceQuickSortProcessing($arr, 0, count($arr));
return $arr;
}
function inPlaceQuickSortProcessing(&$arr, $pivotIndex, $arraySize){
if($pivotIndex + 1>= $arraySize)
return;
else{
for($i = $pivotIndex + 1; $i++; $i<$arraySize){
if($arr[$i] < $arr[$pivotIndex]){
$temp = $arr[$i];
unset($arr[$i]);
array_values($arr);
array_splice($arr, $pivotIndex, 0, $temp);
$pivotIndex++;
}
}
}
//inPlaceQuickSortProcessing($arr, 0, $pivotIndex+1);
//inPlaceQuickSortProcessing($arr, $pivotIndex+1, $arraySize);
}
inPlaceQuicksort($arr);
?>
for循环中的最后一个表达式是否确保$i<$arraySize
?
答案 0 :(得分:4)
for($i = $pivotIndex + 1; $i++; $i<$arraySize){
应该是
for($i = $pivotIndex + 1; $i<$arraySize; $i++){