问题描述:
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.
上代码:
class Solution {
public:
void merge(int A[], int m, int B[], int n) {
if(n==0)
return;
int aIndex = 0;
int i=0;
for(;i<m;i++)
{
if(A[i+aIndex]>B[aIndex])
{
for(int j=m-1+aIndex;j>=i+aIndex;j--)
{
A[j+1]=A[j];
}
A[i+aIndex]=B[aIndex];
aIndex++;
if(aIndex==n)
break;
i--;
}
}
for(;aIndex<n;aIndex++)
{
A[i+aIndex]=B[aIndex];
}
}
};