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

有序序列插入一个数

http://www.nowcoder.com/practice/68ae3b28b4a04e098485c4423e2c6548

#include<stdio.h>
int main(void)
{
    int n;
    scanf("%d",&n);
    int *a=(int *)malloc(sizeof(int)*(n+1));
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    int m;
    scanf("%d",&m);
    int l=n-1;//用l定位m要插入的位置
    while(l>=0&&a[l]>m)//如果l不越界并且相应的数组元素比m大,则继续往前比较
        l--;
    l=l+1;
    for(int i=n;i>=l;i--)//把比m大的数,都往后挪
        a[i]=a[i-1];
    a[l]=m;
    for(int i=0;i<=n;i++)
        printf("%d ",a[i]);
    return 0;
}
全部评论

相关推荐

耀孝女:就是你排序挂了
点赞 评论 收藏
分享
暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务