首页 > 代码库 > 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 and n respectively.

思路:从后往前合并A和B。

 1 class Solution { 2 public: 3     void merge( int A[], int m, int B[], int n ) { 4         int ai = m-1, bi = n-1, pos = m+n-1; 5         while( ai >= 0 && bi >= 0 ) { 6             if( A[ai] > B[bi] ) { 7                 A[pos--] = A[ai--]; 8             } else { 9                 A[pos--] = B[bi--];10             }11         }12         while( bi >= 0 ) { A[pos--] = B[bi--]; }13         return;14     }15 };