Problem A: 插入排序

Problem A: 插入排序

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

输入n(n<=100) 和 n 个0到1亿的整数,然后将这些数字从大到小排序。

n次大循环。

第i次大循环中,记录要插入的数字 a[i]

从第 i 个元素开始,如果前面一个数字比待插入数字大,则往后面挪动一格。

直到前面一张牌不大于待插入牌,或者到最左边。

将待插牌插入到空格里面去


#include<cstdio>
using namespace std;
int a[10100], n;
int main() {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        scanf("%d", &a[i]);
    }
    for (int i = 1; i <= n; i++) {
        int now = ______, j; 
        // 记录一下待插牌,等下还要放回去
        for (j = _____; _____; _____)
            if (_____)
                _____= _____
            else break;
        ______ = ______;
    }
    for (int i = 1; i <= n; i++) {
        printf("%d ", a[i]);
    }
    return 0;
}


Sample Input Copy

5
1 3 5 7 9

Sample Output Copy

9 7 5 3 1