首页 > 代码库 > Merge Sorted Array <leetcode>

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 };

 

Merge Sorted Array <leetcode>