給定兩個排序後的數組 A 和 B,其中 A 的末端有足夠的緩衝空間容納 B.
編寫一個方法,將 B 合併入 A 並排序。初始化 A 和 B 的元素數量分別爲 m 和 n。
A = [1,2,3,0,0,0] .m = 6
B = [2,5,6].n = 3
class Solution1 {
public:
void merge(vector<int>& A, int m, vector<int>& B, int n) {
for (int i = 0; i != n; i++)
{
A[n + i] = B[i];
}
sort(A.begin(), A.end());
}
};
int main()
{
vector<int> A;
A.push_back(1);
A.push_back(2);
A.push_back(3);
A.push_back(0);
A.push_back(0);
A.push_back(0);
cout <<"A的大小:"<<A.size() << endl;
vector<int> B;
B.push_back(2);
B.push_back(5);
B.push_back(6);
cout <<"B的大小:"<<B.size() << endl;
Solution1 S1;
int m = A.size();
int n = B.size();
S1.merge(A, m, B, n);
for (int i = 0; i < A.size(); i++)
{
cout << A[i] << endl;
}
system("pause");
}