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

有序序列插入一个整数

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

#include <iostream>
using namespace std;

int main() {
    int n,k,j,m=0;
    cin>>n;
    int arr[100];
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    cin>>k;//输入

    for(j=0;j<n;j++){
        if(arr[j]>k){
            m=j;//保存j的位置
            for(int g=n-1;g>=j;g--)
            {
                arr[g+1]=arr[g];//比k大的,都依次向后移动一位
            }

            arr[m]=k;//插入k
            break;//一旦发生大于k的情况,此循环只运行一次便退出循环
        } 
        else if(arr[n-1]<k){//k比所有数组都大,没有进入上方的循环
            arr[n]=k;
            break;//跳出循环
        }
    }
    for(int i=0;i<n+1;i++){//依次输出
        cout<<arr[i]<<" ";
    }

    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

我知道自己这个念头不好,但是真的很羡慕😭大家的父母长辈都能帮到自己吗?
大飞的诡术妖姬:父母都是普通打工人,身体也不好,能供我读到本科毕业很不容易,毕业以后帮衬心里会有罪恶感。虽然可能会错过很多风景,但还是想活的心安理得。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务