如何将多个集合合并为一个 std::set(集合并集)
我想知道是否有任何 std 库或 boost 工具可以轻松地将多个集合的内容合并为一个集合。
就我而言,我有一些想要合并的set
。
I would like to know if there is any std library or boost tool to easily merge the contents of multiple sets into a single one.
In my case I have some set<int>
s which I would like to merge.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你可以这样做:
You can do something like:
看起来您正在要求
std::set_union
。示例:
C++17/20 的更新(请参阅下面的评论)
Looks like you are asking for
std::set_union
.Example:
UPDATE for C++17/20 (see comment below)
使用 C++17,您可以使用
merge
函数直接设置
。当您想要提取 set2 元素时,这会更好。作为合并的一部分插入到 set1 中。
就像下面这样:
With C++17, you can use
merge
function ofset
directly.This is better, when you want the set2 elements extracted & inserted into set1 as part of merging.
Like below:
看看 std::merge 可以为您做什么
cplusplus.com/reference/algorithm/merge
look what std::merge can do for you
cplusplus.com/reference/algorithm/merge