菱纱梦

导航

Merge Sorted Array <leetcode>

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.

 

思路:list自带的有归并函数,所以把两个数组分别放入两个list中,然后归并,再把排好序的归并结果放入数组A中;代码如下:

 1 class Solution {
 2 public:
 3     void merge(int A[], int m, int B[], int n) {
 4         list<int> la;
 5         list<int> lb;
 6         for(int i=0;i<m;i++)
 7         {
 8             la.push_back(A[i]);
 9         }
10         for(int i=0;i<n;i++)
11         {
12             la.push_back(B[i]);
13         }
14         la.sort();
15         lb.sort();
16         la.merge(lb);
17         for(int i=0;i<m+n;i++)
18         {
19             A[i]=la.front();
20             la.pop_front();
21         }
22         
23     }
24 };

 

posted on 2014-09-03 10:42  菱纱梦  阅读(120)  评论(0编辑  收藏  举报