<?php
function insertSort($arr) {
$len = count($arr);
for ($i = 1; $i < $len; $i++) {
// 当前值
$value = $arr[$i];
// 当前位置
$pos = $i;
// 如是当前位置 >0 && 当前值的前一个值 > 当前值 选出最值
while ($pos > 0 && $arr[$pos - 1] > $value) {
// 当前值 = 前一个值
$arr[$pos] = $arr[$pos - 1];
// 当前位置后移
$pos = $pos - 1;
}
// 找到当前值的位置
$arr[$pos] = $value;
}
return $arr;
}
<?php
$ar = array(5,2,4,6,1,3);
print_r(insertSort($ar));