<?php $arr=array(8,-34,24,98,-7,34,76,-12,67); for($i=1;$i<count($arr);$i++){ $insertVal=$arr[$i]; $insertIndex=$i-1; while($insertIndex>=0 && $insertVal<$arr[$insertIndex]){ $arr[$insertIndex+1]=$arr[$insertIndex]; $insertIndex--; } $arr[$insertIndex+1]=$insertVal; } print_r($arr);
另一种写法:
<?php function insertSort(&$arr){ for($i=1,$len=count($arr);$i<$len;$i++){ $temp=$arr[$i]; for($j=$i-1;$j>=0;$j--){ if($temp<$arr[$j]){ $arr[$j+1]=$arr[$j]; $arr[$j]=$temp; } else{ break; } } } } $a=array(8,35,243,-56,12,-57,88,-24); insertSort($a); print_r($a);