如何操作c++STL中的set_difference和set_intersection以及set_union
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,如何操作c++STL中的set_difference和set_intersection以及set_union,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望
千家信息网最后更新 2026年11月02日如何操作c++STL中的set_difference和set_intersection以及set_union
如何操作c++STL中的set_difference和set_intersection以及set_union,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
STL algorithm的几个函数,使用的条件是有序容器,所以 vector在被sort了之后是可以使用的,set也是可以使用的。
set_difference 这个是求得在第一个容器中有,第二个容器中没有的。set_intersection 求两个容器的交, set_union 求两个容器的并。
set_symmetric_difference 求两个容器的差。
最后使用的时候注意要提前分配好最后的盛放容器,其大小最好是两个操作容器的和,然后需要根据返回的迭代器resize一下,看下面的例子。
// set_symmetric_difference example #include// std::cout #include // std::set_symmetric_difference, std::sort #include // std::vector int main () { int first[] = {5,10,15,20,25}; int second[] = {50,40,30,20,10}; std::vector v(10); // 0 0 0 0 0 0 0 0 0 0 std::vector ::iterator it; std::sort (first,first+5); // 5 10 15 20 25 std::sort (second,second+5); // 10 20 30 40 50 it=std::set_symmetric_difference (first, first+5, second, second+5, v.begin()); // 5 15 25 30 40 50 0 0 0 0 v.resize(it-v.begin()); // 5 15 25 30 40 50 std::cout << "The symmetric difference has " << (v.size()) << " elements:\n"; for (it=v.begin(); it!=v.end(); ++it) std::cout << ' ' << *it; std::cout << '\n'; return 0; }
看完上述内容,你们掌握如何操作c++STL中的set_difference和set_intersection以及set_union的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
容器
两个
内容
方法
更多
问题
有序
束手无策
为此
例子
函数
原因
大小
对此
技能
时候
最好
条件
篇文章
经验
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东特亿宝互联网科技有限公司
互联网公司 科技公司
卓越科技(互联网 )
深圳天众互联网科技公司
猫创互联网科技
掌上梦互联网科技
狮子座互联网科技培训
互联网高科技企业
长亮科技 互联网金融
互联网和高科技公司
互联网科技公司需要的职位
农村开互联网科技讲堂
全球顶尖互联网科技公司
互联网金融中的现代科技
互联网为啥属于高科技
花神(南京)互联网科技有限公司
青海科技产业互联网发展
互联网在线教育科技创业
扫呗互联网科技有限公司
利用互联网等科技手段
瑰夏咖啡
互联网与科技
保险科技 互联网保险
互联网通讯科技
猪兼强互联网科技
大白互联网科技
甘肃拓世互联网科技有限公司
现代互联网科技股
为客找房互联网科技公司怎么样
互联网高科技行业有哪些企业