直接插入排序算法

直接插入排序算法的基本操作是将一个记录表插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。

/* 直接插入排序 */
void InsertSort(SqList *L)
{
    int i,j;
    for(i=2;i<=L->length;i++)
    {
        if (L->r[i]r[i-1])  //需将L->r[i]插入有序子表
        {
            L->r[0] = L->r[i];  //设置哨兵
            for(j=i-1;L->r[j]>L->r[0];j--)
                L->r[j+1] = L->r[j];  //记录后移
            L->r[j+1] = L->r[0];  //插入到正确位置
        }
    }
}

直接插入排序算法_第1张图片

直接插入排序算法_第2张图片

直接插入排序算法_第3张图片

直接插入排序算法_第4张图片

 

你可能感兴趣的:(数据结构基础)