最近开始学算法及shell..先记下来一些算法..
假设有以下一个$arr数组,需要对其进行排序,从小到大,需要进行两两的比对,设定初始值为2,外层循环临界条件为数组的循环次数,
内层临界条件则为当前循环数组下标与$arr[$i]进行比对
$arr = [3,41,52,26,38,57,9,49];
for($j=2;$j<count($arr);$j++){ $key = $arr[$j]; $i = $j-1; while($i>0 && $arr[$i] > $key){ $arr[$i+1] = $arr[$i]; $i = $i-1; } $arr[$i+1] = $key;
}
打印出来结果:
0 => 3 1 => 9 2 => 26 3 => 38 4 => 41 5 => 49 6 => 52 7 => 57