用C++编写程序实现两个整数集合的基本运算: S1+S2 集合并运算 S1-S2 集合差运算 S1*S2
时间: 2024-05-14 11:18:31 浏览: 140
用C++实现的集合的运算
5星 · 资源好评率100%
以下是用C++编写的程序实现两个整数集合的基本运算:
```c++
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> S1, S2, S3; // 定义三个集合
// 向S1集合中添加元素
S1.insert(1);
S1.insert(2);
S1.insert(3);
S1.insert(4);
// 向S2集合中添加元素
S2.insert(3);
S2.insert(4);
S2.insert(5);
S2.insert(6);
// 集合并运算
set_union(S1.begin(), S1.end(), S2.begin(), S2.end(), inserter(S3, S3.begin()));
cout << "S1+S2 = ";
for (auto it = S3.begin(); it != S3.end(); it++)
{
cout << *it << " ";
}
cout << endl;
// 集合差运算
S3.clear();
set_difference(S1.begin(), S1.end(), S2.begin(), S2.end(), inserter(S3, S3.begin()));
cout << "S1-S2 = ";
for (auto it = S3.begin(); it != S3.end(); it++)
{
cout << *it << " ";
}
cout << endl;
// 集合交运算
S3.clear();
set_intersection(S1.begin(), S1.end(), S2.begin(), S2.end(), inserter(S3, S3.begin()));
cout << "S1*S2 = ";
for (auto it = S3.begin(); it != S3.end(); it++)
{
cout << *it << " ";
}
cout << endl;
return 0;
}
```
运行结果为:
```
S1+S2 = 1 2 3 4 5 6
S1-S2 = 1 2
S1*S2 = 3 4
```
其中,使用了STL中的set容器,以及set_union、set_difference和set_intersection函数分别实现了集合并、集合差和集合交运算。
阅读全文