php实现插入排序:先从第二个数开始,将第二个数和第一个数进行比较,如果第一个数比第二个数大的话,就将第一个数后移,这是第一趟。然后是第二趟,继续前面的。如果还是想不清楚,大家可以想想在玩扑克牌的时候,如果揭到了一张新牌是怎么把它放到正确的位置的,你肯定是先和最后的比较,然后再比较,直到有一个位置是比你正在比较的数小的时候,你就讲牌插在这个地方。
$arr=array(1,2,3,5,2,3,9,8,3,2,7,4,9,8,0,4,587,93,47,59,8,2,6,83,4,9,65,2,18,7);
printArr($arr);
echo "<hr>";
function insert(&$arr){
for($i=1;$i<count($arr);$i++){
$temp=$arr[$i];
for($j=$i-1;$j>=0 && $arr[$j]>$temp;$j--)
$arr[$j+1]=$arr[$j];
$arr[$j+1]=$temp;
}
}
insert($arr);
printArr($arr);
function printArr($arr){
for($i=0;$i<count($arr);$i++)
echo ' '.$arr[$i];
}