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 to hold additional elements from B. 
The number of elements initialized in A and B are m and n respectively.

Solution: From back to forth.

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

 

posted @ 2014-04-05 00:38  beehard  阅读(151)  评论(0编辑  收藏  举报