如何操作c++STL中的set_difference和set_intersection以及set_union
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,如何操作c++STL中的set_difference和set_intersection以及set_union,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望
千家信息网最后更新 2025年01月21日如何操作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安全错误
数据库的锁怎样保障安全
网络安全职业技能竞赛决赛举行
网络技术人员工资待遇
企业域服务器的作用
计算机软件开发方法
软件开发考核表
梅州无限软件开发价格
人工智能软件开发
郴州网络技术总监
h22x-05服务器安装
软件开发销售流程
学校网络安全检查表模板
CNKI什么数据库
怎么关闭打开的数据库SQL
网络安全工作的定义
网络安全全民行动方案创意
北京语音网络技术服务设计
京东云联合云数据库
网吧街头篮球连接不上服务器
剖析网络安全
红河缺严网络技术有限公司
安徽综合软件开发售价
华顺信安网络安全能力
智能软件开发代理品牌
数据库的编译器怎么添加
法雷奥武汉 软件开发
辽宁pdu服务器电源生产公司
护苗行动网络安全语言
数据库表之间的多对一关系表
服务器登录安全问题
寻医社网络技术有限公司