直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。
逻辑比较简单,这里博主直接贴代码供大家参考
php实现代码如下:
<?php
/*直接插入排序*/
$arr = [2,4,6,3,1,5,7,9,8];
print_arr($arr);//排序前
insertsort($arr);
echo '<br/>';
print_arr($arr);//排序后
function insertsort (&$arr) {
for ($i=1;$i<count($arr);$i++) {
$tmp = $arr[$i];//将要排序的元素取出
for ($j=$i-1; $j>=0&&$arr[$j]>$tmp; $j--) {
$arr[$j+1] = $arr[$j];
}
$arr[$j+1] = $tmp;
}
}
function print_arr($arr) {
for ($i=0; $i < count($arr); $i++) {
echo $arr[$i].'--';
}
}
排序结果: