php實現插入排序

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];
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章