#### 一、基本思想: 每一步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。 即边插入边排序,保证子序列中随时都是排好序的。 #### 二、基本操作: 在有序序列中插入一个元素,保持序列有序,有序长度不断增加 + a[0] 是长度为1的子序列,然后逐一将a[1]至a[n-1]插入到有序子序列中; + 在插入a[i]前,数组a的前半段{a[0]~a[i-1]}是有序段,后半段{a[i]~a[n-1]}是停留于输入次序的“无序段”; + 插入a[i]使a[0]~a[i-1]有序,也就是要为a[i] 找到有序位置j(0<=j<=1),将a[i] 插入在a[j] 的位置上 ![[微信截图_20221223162033.png]] #### 三、寻找插入位置 ![[微信截图_20221223182150.png]] ###### 如何寻找插入位置??? + 顺序法:定位插入排序 + 二分法:定位插入排序 + 缩小增量:多遍插入排序