天天看點

算法之【插入排序法】

算法之插入排序法

相比上次的冒泡排序法,插入排序法更符合人類的習慣.

所謂插入排序法,就是檢查第i個數字,如果在它的左邊的數字比它大,進行交換,這個動作一直繼續下去,直到這個數字的左邊數字比它還要小,就可以停止了。插入排序法主要的回圈有兩個變數:i和j,每一次執行這個回圈,就會将第i個數字放到左邊恰當的位置去。

1

2

3

4

5

6

7

8

9

10

11

12

 <b>function</b> insertSort(&amp;$arr){

        <b>for</b> ($i=1; $i &lt;&lt;/span&gt;count($arr) ; $i++) { 

           $insertValue=$arr[$i]; 

           $insertKey=$i-1;  

           <b>while</b> ( $insertkey&gt;=0 &amp;&amp; $insertValue&lt;&lt;/span&gt;$arr[$insertkey]) {

                $arr[$insertKey+1]=$arr[$insertKey];

                                $insertkey--;

           }

           $arr[$insertkey+1]=$insertValue;

        }

    }

繼續閱讀