c++ std::set 求差集
时间: 2023-11-06 09:46:53 浏览: 181
求数组的差集.cpp
要求两个 `std::set` 的差集,可以使用 `std::set_difference` 算法。下面是一个示例代码,展示了如何求两个 `std::set` 的差集:
```cpp
#include <iostream>
#include <set>
#include <algorithm>
int main() {
std::set<int> set1{1, 2, 3, 4, 5};
std::set<int> set2{3, 4, 5, 6, 7};
std::set<int> difference;
std::set_difference(set1.begin(), set1.end(),
set2.begin(), set2.end(),
std::inserter(difference, difference.begin()));
// 输出差集
for (const auto& element : difference) {
std::cout << element << " ";
}
return 0;
}
```
在上面的示例中,我们首先创建了两个 `std::set` 对象 `set1` 和 `set2`。然后使用 `std::set_difference` 算法将 `set1` 中存在而 `set2` 中不存在的元素放入 `difference` 集合中。最后,使用循环遍历输出差集中的元素。
输出结果将是差集 `{1, 2}`。注意,差集中的元素是在第一个集合中存在而在第二个集合中不存在的元素。
阅读全文