1.插入排序

void InsertSort_fix(int L[], int length)

{
    int i;//区分有序区和无序区指针
    int j;//有序区插入排序临时下标
    int tmp;//存储待排序元素
    
    if (NULL == L)
    {
        return;
    }

    for(i=0;i<length - 1;i++)//逐步扩大有序区
    {
        if(L[i+1]>L[i])
        {
            continue;
        }

        tmp=L[i+1];//存储待排序元素
        j = i;//记录有序区下标

        while(j >= 0 && tmp < L[j])//查找在有序区中的插入位置,同时移动元素
        {
            L[j+1]=L[j];//移动
            j--;//查找
        }
        L[j+1]=tmp;//将元素插入
    }
}
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐