直接插入排序 |
您所在的位置:网站首页 › c语言插空排序法例题 › 直接插入排序 |
目录
什么是直接插入排序?算法思想实例讲解算法分析时间复杂度空间复杂度稳定性
代码实现运行结果
什么是直接插入排序?
直接插入排序是一种最简单的排序方法,其基本操作是将需要排序的元素插入到已排好的有序表序列中,从而得到一个完整的有序序列。 算法思想①将待排序序列分为两部分,一部分有序一部分无序。 ②我们把第一个元素看作有序序列,从第二个元素到最后为无序序列。 ③将无序序列中每一个元素依次插入到有序序列的合适位置–从小到大(从大到小)。 我们有一个待排序序列为【3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48】 1、我们将第一个元素3看成已经排序好的序列,即有序序列。 2、从第二个元素44到最后一个元素48我们看作为无序的的序列,即待排序的序列。
②此时有序序列为【3,38,44】,待排序序列为【 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48】 小结: 待排序元素比有序元素元素大则直接插入到该有序元素后,若小于有序元素则将该有序元素向后移动。 算法分析 时间复杂度O(n2) 空间复杂度O(1) 稳定性稳定的排序算法,其稳定性在于相同值的元素进行插入排序完成后相对位置不发生改变。 代码实现 #include void Print(int array[],int len){ for(int i=0;i |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |