### 思路
1. 读取顺序表A和B的元素个数和元素。
2. 使用双指针法合并两个有序顺序表A和B到新的顺序表C。
3. 输出顺序表A、B和合并后的顺序表C。
### 伪代码
1. 读取顺序表A的元素个数和元素。
2. 读取顺序表B的元素个数和元素。
3. 初始化两个指针分别指向顺序表A和B的起始位置。
4. 比较两个指针所指向的元素,将较小的元素加入顺序表C,并移动指针。
5. 如果一个顺序表已经遍历完,将另一个顺序表剩余的元素加入顺序表C。
6. 输出顺序表A、B和合并后的顺序表C。
### C++代码
#include <iostream>
#include <vector>
using namespace std;
void mergeSortedLists(const vector<int>& A, const vector<int>& B, vector<int>& C) {
int i = 0, j = 0;
while (i < A.size() && j < B.size()) {
if (A[i] < B[j]) {
C.push_back(A[i]);
i++;
} else {
C.push_back(B[j]);
j++;
}
}
while (i < A.size()) {
C.push_back(A[i]);
i++;
}
while (j < B.size()) {
C.push_back(B[j]);
j++;
}
}
int main() {
int nA, nB;
cin >> nA;
vector<int> A(nA);
for (int i = 0; i < nA; i++) {
cin >> A[i];
}
cin >> nB;
vector<int> B(nB);
for (int i = 0; i < nB; i++) {
cin >> B[i];
}
vector<int> C;
mergeSortedLists(A, B, C);
cout << "List A:";
for (int i = 0; i < A.size(); i++) {
cout << A[i] << " ";
}
cout << endl;
cout << "List B:";
for (int i = 0; i < B.size(); i++) {
cout << B[i] << " ";
}
cout << endl;
cout << "List C:";
for (int i = 0; i < C.size(); i++) {
cout << C[i] << " ";
}
cout << endl;
return 0;
}