插入排序(直接插入排序)

思路分析:

  在要排序的一组数中,假设前面的数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

 1 //插入排序
 2 function straightInsertionSort($arr)
 3 {
 4     $len = count($arr);
 5     for ($i = 1; $i < $len; $i++) {
 6         $tmp = $arr[$i];
 7         for ($j = $i - 1; $j >= 0; $j--) {
 8             if ($arr[$j] > $tmp) {
 9                 $arr[$j + 1] = $arr[$j];
10                 $arr[$j] = $tmp;
11             } else {
12                 break;
13             }
14         }
15     }
16     print_r($arr);
17 }

$arr = [3, 2, 8, 6, 7, 5, 9, 4, 1];

straightInsertionSort($arr);
原文地址:https://www.cnblogs.com/super-lulu/p/10976854.html