算法之插入排序法
相比上次的冒泡排序法,插入排序法更符合人类的习惯.
所谓插入排序法,就是检查第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;
}
}
|