排序算法

最近开始学算法及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
点赞