题解 | #有序序列插入一个整数#

有序序列插入一个整数

https://www.nowcoder.com/practice/444e87f938464906a1649cff236b102b

#include <stdio.h>

int main() {
    int n, key;
    scanf("%d", &n);
    int a[n + 1];//注意是n+1个位置
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }

    scanf("%d", &key);
    int k, i;
    for (i = 0; i < n; i++) {
        if (key > a[i]) {
            continue;
        }

        //key <= a[i]  i == 2
        //从2开始插入
        for (k = n; k > i; k--) {
            a[k] = a[k - 1];
        }

        //找到位置后插入值
        a[k] = key;
        //记得插入完就break
        break;

    }

    //在末尾插入的情况
    if (i == n) {
        a[i] = key;

    }

    //打印插入好的序列
    for (int i = 0; i <= n; i++) {
        printf("%d ", a[i]);
    }

    return 0;
}

全部评论

相关推荐

09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务