題目描述
有兩個從小到大排序以後的數組A和B,其中A的末端有足夠的緩衝空容納B。請編寫一個方法,將B合併入A並排序。
給定兩個有序int數組A和B,A中的緩衝空用0填充,同時給定A和B的真實大小int n和int m,請返回合併後的數組。
class Merge {
public:
vector<int> mergeAB(vector<int> A, vector<int> B, int n, int m) {
// write code here
int i=n-1,j=0;//i指向A的最後一個元素,j指向B的第一個元素;
int len=n;//記錄A數組的長度;
for(j;j<m;j++)
{
while(A[i]>B[j])
{
A[i+1]=A[i];
i--;
}
A[i+1]=B[j];
len++;
i=len-1;
}
return A;
}
};