算法之插入排序法
相比上次的冒泡排序法,插入排序法更符合人類的習慣.
所謂插入排序法,就是檢查第i個數字,如果在它的左邊的數字比它大,進行交換,這個動作一直繼續下去,直到這個數字的左邊數字比它還要小,就可以停止了。插入排序法主要的回圈有兩個變數:i和j,每一次執行這個回圈,就會将第i個數字放到左邊恰當的位置去。
1
2
3
4
5
6
7
8
9
10
11
12
<b>function</b> insertSort(&$arr){
<b>for</b> ($i=1; $i <</span>count($arr) ; $i++) {
$insertValue=$arr[$i];
$insertKey=$i-1;
<b>while</b> ( $insertkey>=0 && $insertValue<</span>$arr[$insertkey]) {
$arr[$insertKey+1]=$arr[$insertKey];
$insertkey--;
}
$arr[$insertkey+1]=$insertValue;
}
}