思路:从数组第二个元素开始折半插入,即把第一个元素看成有序的,然后下标后移一位,直到数组最后一个元素折半插入成功,注意:数组第0号元素不存值,用来存储每次要插入的数据
步骤:1.判断要插入的元素是否处于有序状态,是则继续,否则下标后移
2.利用折半查找要插入的下标,记为t
3.从t开始所有数据后移一位,插入已经标记在a[0]的元素
//length为数组长度(0号下标不存值,不计算在长度中)void insert(int *a,int length){ for(int i=2;i<=length;i++)//从第二个元素到最后一个元素依次插入 { if(a[i] =low;j--) a[j+1]=a[j]; a[low]=a[0];//插入已经标记的元素 } }}