[CareerCup] 11.1 Merge Arrays 合并数组

 

11.1 You are given two sorted arrays, A and B, where A has a large enough buffer at the end to hold B. Write a method to merge B into A in sorted orde.

 

LeetCode上的原题,请参见我之前的博客Merge Sorted Array 混合插入有序数组

 

class Solution {
public:
    void merge(vector<int> &a, int m, vector<int> &b, int n) {
        int cnt = m + n - 1;
        --m; --n;
        while (m >= 0 && n >= 0) a[cnt--] = a[m] > b[n] ? a[m--] : b[n--];
        while (n >= 0) a[cnt--] = b[n--];
    }
};

 

posted @ 2015-10-14 23:22  Grandyang  阅读(827)  评论(0编辑  收藏  举报
Fork me on GitHub