美文网首页
2_15有序数组合并

2_15有序数组合并

作者: X_Y | 来源:发表于2017-09-06 17:02 被阅读7次

有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B。请编写一个方法,将B合并入A并排序。

给定两个有序int数组A和B,A中的缓冲空用0填充,同时给定A和B的真实大小int n和int m,请返回合并后的数组。

class Merge {
public:
    int* mergeAB(int* A, int* B, int n, int m) {
        // write code here
        int pA = n-1, pB = m-1;
        int pAB = n + m - 1;
        while(pB >= 0 && pA >= 0){
            if(B[pB] > A[pA]){
                A[pAB--] = B[pB--];
            }else{
                A[pAB--] = A[pA--];
            }
        }
        if(0 > pA){
            while(pB >= 0){
                A[pAB--] = B[pB--];
            }
        }
        return A;
    }
};

相关文章

  • 2_15有序数组合并

    有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B。请编写一个方法,将B合并入A并排序。 给定两...

  • 合并两个有序数组(C)

    合并两个有序数组,合并完之后仍有序:

  • 10-3 有序组合合并

    有序数组的合并. 保证合并之后仍然是有序的

  • 有序数组合并

    1、两个有序数组合并(产生新数组) 2、两个有序数组合并(返回原来某个数组)

  • 数据结构-Java 02.习题汇总1

    1. 合并两个有序的数组 给出两个有序的整数数组A和B,请将数组B合并到数组A中,变成一个有序的数组。注意:可以假...

  • LeetCode-88-合并两个有序数组

    LeetCode-88-合并两个有序数组 88. 合并两个有序数组[https://leetcode-cn.com...

  • 4. 寻找两个有序数组的中位数

    分析 已知两个有序数组,找到两个数组合并后的中位数。 解法一 简单粗暴,先将两个数组合并,两个有序数组的合并也是归...

  • 算法 -- 归并排序 - 草稿

    merge 归并排序原理 归并排序 == 递归 + 合并 合并 将两个有序的数组合并成一个有序的大数组;(从两个小...

  • java算法_有序数组合并

    无序数组合并: 有两个有序数组,合并成一个有序数组,例如:arr1={1,3,4,7} arr2={2,5,8} ...

  • 对两个有序的数组进行合并

    1、算法描述: 有两个有序的整型数组arrayA,和arrayB,先要将它俩合并得到新的合并数组同样是有序的。示例...

网友评论

      本文标题:2_15有序数组合并

      本文链接:https://www.haomeiwen.com/subject/swjvjxtx.html