合并两个升序数组c++代码
时间: 2023-08-10 09:25:57 浏览: 106
以下是两个升序数组合并的C++代码实现:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<int> merge(vector<int>& A, vector<int>& B) {
int m = A.size(), n = B.size();
vector<int> C(m + n);
int i = 0, j = 0, k = 0; // i指向A,j指向B,k指向C
while (i < m && j < n) {
if (A[i] < B[j]) {
C[k] = A[i];
i++;
} else {
C[k] = B[j];
j++;
}
k++;
}
while (i < m) {
C[k] = A[i];
i++;
k++;
}
while (j < n) {
C[k] = B[j];
j++;
k++;
}
return C;
}
int main() {
vector<int> A = {1, 3, 5, 7, 9};
vector<int> B = {2, 4, 6, 8, 10};
vector<int> C = merge(A, B);
for (int i = 0; i < C.size(); i++) {
cout << C[i] << " ";
}
cout << endl;
return 0;
}
```
这段代码使用了vector来存储数组,实现了两个升序数组的合并,并输出结果。时间复杂度为O(m+n),空间复杂度为O(m+n)。