我正在尝试创建一个SetUnion函数,该函数需要两个set<int>
个元素并将它们联合起来。
SetUnion: set<int> × set<int> → set<int>
感谢任何帮助。
答案 0 :(得分:2)
由于您正在处理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());
答案 1 :(得分:1)
此功能已存在于标准库中,请参阅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,