算法之【插入排序法】

60 阅读1分钟

算法之插入排序法

\

相比上次的冒泡排序法,插入排序法更符合人类的习惯.

所谓插入排序法,就是检查第i个数字,如果在它的左边的数字比它大,进行交换,这个动作一直继续下去,直到这个数字的左边数字比它还要小,就可以停止了。插入排序法主要的回圈有两个变数:i和j,每一次执行这个回圈,就会将第i个数字放到左边恰当的位置去。

\

123456789101112 ​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; ​ ​ ​ ​ ​ ​ ​ ​} ​ ​ ​ ​ ​}

\