如何操作c++STL中的set_difference和set_intersection以及set_union
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,如何操作c++STL中的set_difference和set_intersection以及set_union,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望
千家信息网最后更新 2025年11月12日如何操作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安全错误
数据库的锁怎样保障安全
qt4数据库操作
互联网是信息科技吗
文明上网与网络安全讲座
赵风伟讲网络安全
er图属于哪个数据库
网络安全意识形态方案
视图查询出现重复数据库
杜集服务器有95纯汽油吗
惠普塔式服务器维修服务
怎样更改开放网络安全吗
长春市佳晨网络技术有限公司
潍坊晨星网络技术有限公司咋样
五华区软件开发报价表
学校网络安全文件
人工智能软件开发行业
与互联网和科技有关的案例
软件开发dd sd
国家网络安全人才能力提升计划
盛世网络技术有限公司
工信部网络安全局与阿里巴巴
软件开发小结
方舟pvp服务器作弊
珙县网络技术有限公司
软件开发要考研吗
四川2014年自考数据库
多媒体数据库的检索方法是什么
java编写qq使用数据库
网页是用什么软件开发的
计算机网络技术专业学院
数据安全法和网络安全法