首页 > 代码库 > Merge Sorted Array

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.

C++代码如下:

#include<iostream>using namespace std;class Solution {public:    void merge(int A[], int m, int B[], int n) {        int i=m-1;        int j=n-1;        int k=m+n-1;        while(i>=0&&j>=0)        {            if(A[i]>=B[j])            {                A[k--]=A[i--];            }            else            {                A[k--]=B[j--];            }        }        while(i>=0)        {            A[k--]=A[i--];        }        while(j>=0)        {            A[k--]=B[j--];        }    }};int main(){    int A[10]={1,3,5,7,9};    int B[5]={2,4,6,8,10};    Solution s;    s.merge(A,5,B,5);    for(auto a:A)        cout<<a<<" ";    cout<<endl;}

运行结果:

Merge Sorted Array