学习C++之STL:常用集合算法set_intersection、set_union、set_difference

算法简介:
set_intersection:求两个容器的交集
set_union:求两个容器并集
set_difference:求两个容器的差集
这3个算法均由algorithm头文件提供。

set_intersection
函数原型:set_intersection(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest)
作用:将容器1和容器2的交集(既属于容器1又属于容器2的部分)存到目标容器,dest为目标容器的起始迭代器。
注意事项:
目标容器必须提前准备好大小,考虑极限情况,为min(容器1大小,容器2大小);
函数返回目标容器最后一个被写入的位置(迭代器);
两个源容器必须有序。

set_union
函数原型:set_union(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest)
作用:将容器1和容器2的并集(容器1和容器2的不重复汇总)存到目标容器,dest为目标容器的起始迭代器。
注意事项:
目标容器必须提前准备好大小,考虑极限情况,为容器1大小+容器2大小;
函数返回目标容器最后一个被写入的位置(迭代器);
两个源容器必须有序。

set_difference
函数原型:set_difference(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest)
作用:将容器1和容器2的差集(容器1有而容器2没有的内容,即容器1内容除去容器1与容器2的交集)存到目标容器,dest为目标容器的起始迭代器。
注意事项:
目标容器必须提前准备好大小,考虑极限情况,为容器1大小;
函数返回目标容器最后一个被写入的位置(迭代器);
两个源容器必须有序。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赴星辰大海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值