算法之插入排序法
相比上次的冒泡排序法,插入排序法更符合人类的习惯.
所谓插入排序法,就是检查第i个数字,如果在它的左边的数字比它大,进行交换,这个动作一直继续下去,直到这个数字的左边数字比它还要小,就可以停止了。插入排序法主要的回圈有两个变数:i和j,每一次执行这个回圈,就会将第i个数字放到左边恰当的位置去。
1 2 3 4 5 6 7 8 9 10 11 12 |
function insertSort(&$arr){ for ($i=1; $i <</span>count($arr) ; $i++) { $insertValue=$arr[$i]; $insertKey=$i-1; while ( $insertkey>=0 && $insertValue<</span>$arr[$insertkey]) { $arr[$insertKey+1]=$arr[$insertKey]; $insertkey--; } $arr[$insertkey+1]=$insertValue; }
} |