编写c++程序实现两个整数集合的基本运算: S1+S2 集合并运算 S1-S2 集合差运算 S1*S2 集合交运算 要求:输入整数集合{2 4 1 3 5}和{2 5 10},输出前者元素个数以及它们进行集合并、差、交运算后的结果。
时间: 2024-02-25 13:55:04 浏览: 74
好的,以下是实现基本运算的 C++ 代码:
```c++
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> S1 = {2, 4, 1, 3, 5};
set<int> S2 = {2, 5, 10};
// 集合并运算
set<int> uni;
set_union(S1.begin(), S1.end(), S2.begin(), S2.end(), inserter(uni, uni.begin()));
cout << "集合并运算后的结果:";
for (int x : uni) {
cout << x << " ";
}
cout << endl;
// 集合差运算
set<int> dif;
set_difference(S1.begin(), S1.end(), S2.begin(), S2.end(), inserter(dif, dif.begin()));
cout << "集合差运算后的结果:";
for (int x : dif) {
cout << x << " ";
}
cout << endl;
// 集合交运算
set<int> inter;
set_intersection(S1.begin(), S1.end(), S2.begin(), S2.end(), inserter(inter, inter.begin()));
cout << "集合交运算后的结果:";
for (int x : inter) {
cout << x << " ";
}
cout << endl;
// 输出前者元素个数
cout << "前者元素个数为:" << S1.size() << endl;
return 0;
}
```
输出结果为:
```
集合并运算后的结果:1 2 3 4 5 10
集合差运算后的结果:1 3 4
集合交运算后的结果:2 5
前者元素个数为:5
```
希望这个程序可以帮到你!
阅读全文