数据结构学习(十)、插入排序

基本思想:将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增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];                  /*插入正确的位置*/
            }
         }
    }
}
原文地址:https://www.cnblogs.com/huixuexidezhu/p/5968660.html