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

有序序列插入一个数

https://www.nowcoder.com/practice/74486aec6fe14d44b509efabf265ee66

#include <stdio.h>
int main()
{
    //1.输入
    int arr[51] = {0};
    int n = 0;
    scanf("%d",&n);
    int i = 0;
    for (i = 0; i < n; i++)
    {
        scanf("%d",arr+i);
    }
    int insert = 0;
    scanf("%d", &insert);
    //2.插入
    //从后往前比较,如果比插入的数大,就移到后面一个位置
    for(i = n - 1; i >= 0; i--)
    {
        if (arr[i] > insert)
        {
            arr[i+1] = arr[i];
        }
        else
        {
            arr[i+1] = insert;
            break;
        }
    }
    if(i < 0)
    {
        arr[0] = insert;
    }
    //3.输出
    for (i = 0; i < n+1; i++)
    {
        printf("%d ", arr[i]);
    }
    return 0;
}

全部评论

相关推荐

吴offer选手:我卡在笔试才是最好笑的,甚至没给我发过笔试链接
投递哔哩哔哩等公司6个岗位
点赞 评论 收藏
分享
牛客ID:561366855:期望薪资多少?难以相信这简历找不到工作。说明二本电子信息专业想对口就业非常难。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务