目录

C语言插入排序

目录

【C语言】插入排序

https://i-blog.csdnimg.cn/direct/d043307f7c4449d08c7d6bb43ee3ad99.gif

插入排序 :

在未排序区间选择一个基准元素,将该元素与其左侧已排序区间的元素逐一比较大小,并将该元素插入到正确的位置。

int main()
{
    int n = 10;
    int a[] = { 9,8,7,6,6,5,4,3,2,1 };
    //打印数组
    printf("排序前:");
    for (int i = 0;i < n;i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    //插入排序
    for (int i = 1;i < n;i++)
    {
        int base = a[i];
        int j = i - 1;
        while (j >= 0 && a[j] > base)
        {
            a[j + 1] = a[j];
            j--;
        }
        a[j + 1] = base;
    }
    //显示数组
    printf("排序后:");
    for (int i = 0;i < n;i++)
    {
        printf("%d ", a[i]);
    }
    return 0;
}

输出:

https://i-blog.csdnimg.cn/direct/7c2c01e4bdd443c890ee7da242e4136d.png