php 插入排序
$arr = array(9,8,7,0,1,6,5,4,3,3,2);
$arr = insert($arr);
var_dump($arr);
/**
* 插入排序
* @param $arr
* @return mixed
* 外层控制循环
* 内层每次选择一个当前循环最小的数插到固定位置,并对当前循环之前的所有数据排好序
* O(n2) O(n2) 稳定 O(1)
*/
function insert($arr)
{
$len = count($arr);
for ( $i=1; $i<$len; $i++ ) {
$tmpNum = $arr[$i];
for ($j=$i-1; $j>=0; $j--) {
if ($tmpNum < $arr[$j]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $tmp;
}
}
}
return $arr;
}