基本思想:将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。
void InsertSort(SqList *L){ int i,j; for(i = 2;i<=L->length;i++){ if(L->data[i]<L->data[i-1]){ /* 需将L->data[i]插入子表*/ L->data[0] = L->data[i]; /*设置哨兵*/ for(j=i-1;L->data[j]>L->data[0];j--){ L->data[j+1]=L->data[j]; /*记录后移*/ L->data[j+1] = L->data[0]; /*插入正确的位置*/ } } } }