设置联合:设置<int>×集合<int>→集合<int>

SetUnion: set<int> × set<int> → set<int>

本文关键字:gt int lt 设置 集合      更新时间:2023-10-16

我正在尝试创建一个SetUnion函数,该函数需要两个set<int>元素并将它们合并。

SetUnion: set<int> × set<int> → set<int>

由于您正在处理std::set,因此可以通过简单地将两个集合的元素相加来构建一个并集,如下所示:

set<int> a {1,2,3,4};
set<int> b {3,4,5,6};
// Copy the first set
set<int> u(a);
// Add elements of the second set to the copy to get a union
u.insert(b.begin(), b.end());

这个函数已经存在于标准库中,参见std::set_union,你可以这样使用它:

std::vector<int> vec1 = {1, 2, 4}, vec2 = {5, 4, 2}, vecUnion;
std::set_union( vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), std::back_inserter(vecUnion) );
for( auto i : vecUnion )
{
     std::cout << i << ", " std::endl;
}

将打印以下内容:

1, 2, 4, 5,