集合A: 1 3 5 7 //顺序表A 集合B:5 7 9 11 //顺序表B 求AUB:1 3 5 7 9 11 代码实现
时间: 2024-01-13 19:02:23 浏览: 49
假设集合 A 和集合 B 分别用顺序表 A 和顺序表 B 存储,可以采用如下代码实现 AUB:
```c++
#include <iostream>
#include <vector>
using namespace std;
vector<int> A = {1, 3, 5, 7};
vector<int> B = {5, 7, 9, 11};
vector<int> C;
int main() {
int i = 0, j = 0;
while (i < A.size() && j < B.size()) { // 同时遍历 A 和 B
if (A[i] < B[j]) { // 将小的加入 C 中
C.push_back(A[i]);
i++;
} else if (A[i] > B[j]) {
C.push_back(B[j]);
j++;
} else { // 相等的情况只加入一个
C.push_back(A[i]);
i++;
j++;
}
}
while (i < A.size()) { // 把 A 中剩余的元素加入 C 中
C.push_back(A[i]);
i++;
}
while (j < B.size()) { // 把 B 中剩余的元素加入 C 中
C.push_back(B[j]);
j++;
}
for (int k = 0; k < C.size(); k++) { // 输出 C 中的元素
cout << C[k] << " ";
}
return 0;
}
```
输出结果为:1 3 5 7 9 11。