算法分析——插入排序算法

插入排序算法——C语言实现

下面是完整代码:

#include <stdio.h>
#define MAXSIZE 9
int main()
{
    int i, j;//定义两个指针用于标记和循环
    float Array[MAXSIZE],key;//定义待排序数组Array和关键字kay
    for (i = 0; i < MAXSIZE; i++)//定义一个循环用于输入
        scanf_s("%f", &Array[i]);
    for (j = 1; j < MAXSIZE; j++)//定义一个循环用于遍历
    {
        key = Array[j];//将当前值赋值给关键字key
        i = j - 1;//i用于标记循环不变式
        while (i >= 0 && Array[i] > key)//循环条件:当i>=0且Array[i]大于当前值时
        {
            Array[i + 1] = Array[i];//从Array[i]开始集体后移
            i -= 1;//向前标记
        }
        Array[i + 1] = key;//将关键字key插入到满足条件的值
    }
    for (i = 0; i < MAXSIZE; i++)//打印结果
        printf("%3.2f\t", Array[i]);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39316701/article/details/80160591