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

Posted super-lulu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序(直接插入排序)相关的知识,希望对你有一定的参考价值。

思路分析:

  在要排序的一组数中,假设前面的数已经是排好顺序的,现在要把第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);

 

以上是关于插入排序(直接插入排序)的主要内容,如果未能解决你的问题,请参考以下文章

直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚

排序算法学习(直接插入排序,希尔排序,选择排序,堆排序,冒泡排序)

直接插入折半插入希尔排序

直接插入折半插入希尔排序

Java插入排序实现代码

java排序之插入排序(直接插入排序和希尔排序)