您的位置:首页 > 其它

Merge Sorted Array 合并排序的数组

2015-03-29 21:19 176 查看


Merge Sorted Array

Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:

You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m andn respectively.

class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
    //从后向前比较就不会存在覆盖的问题
    int i=m+n-1;
    int a=m-1,b=n-1;
    while(a>=0&&b>=0)
    {
        if(A[a]>B[b])
        {
            A[i]=A[a];
            a--;
            i--;
        }
        else{
            A[i]=B[b];
            b--;
            i--;
        }
    }
    while(a>=0)
    {
        A[i]=A[a];
        a--;
        i--;
    }
    while(b>=0)
    {
        A[i]=B[b];
        b--;
        i--;
    }
    }
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: