题解 | #有序序列合并#

有序序列合并

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;
}
全部评论

相关推荐

10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务