题解 | #有序序列合并#

有序序列合并

http://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897

{
    int m,n,i,j,k=0;
    int arr[1000];
    int arr1[1000]; 
    scanf("%d %d",&n,&m);
    for(j=0;j<n;j++)//初始化数组
    {
        scanf("%d",&arr1[j]);
    }
    for(i=0;i<m;i++)
    {
        scanf("%d",&arr[i]);
    }
    int *ret=malloc(sizeof(int)*(m+n));//开辟一个动态空间
    i=j=0;
    while(i<m&&j<n)
    {
        if(arr[i]>arr1[j])
        {
            ret[k++]=arr1[j];
            j++;
        }
        else
        {
            ret[k++]=arr[i];
            i++;
        }
    }
    while(i<m)
    {
        ret[k++]=arr[i];
        i++;
    }
     while(j<n)
    {
        ret[k++]=arr1[j];
         j++;
    }
    for(i=0;i<m+n;i++)//打印
    {
        printf("%d ",ret[i]);
    }
    free(ret);
    return 0;
}
全部评论

相关推荐

06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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