练习题有做到 set_intersection 的相关练习,看别人写的看不懂,就找到了STL的官方文档,翻译加总结如下,如果单纯想要实例,可以去后面直接复制粘贴代码。
STL的地址:http://stlchina.huhoo.net/stl_doc/set_intersection.html
1、set_intersection 是从两个有序序列A、B中找到交集(返回结果也是有序的)
2、如果A、B中有多个同样的数,比如A中有3个5,B中有5个5,那么返回结果中有3个5
3、set_intersection 是稳定的,它返回的序列元素总是从第一个序列A中复制得到的
4、采用头文件:algorithm
5、set_intersection 从 有序序列[first1, last1) 和 [first2, last2) 中找到交集,涉及到比较两个对象是否相同,所以设计比较方式的问题。
它提供了两种调用方法,一种是采用默认排序方法, 一种是采用自定义排序方法
以上这个方法要求两个序列必须各自是按照升序排序的,比如序列{a, b},必须符合:!(a > b),即 a <= b
以上这个方法中要求定义的比较操作方法comp必须符合严格弱序(STL根据 !(a comp b) && !(b comp a) 为true的方式来判等)
这个方法要求两个序列必须是按照你自定义的方法来,比如{a, b},必须符合:!comp(a, b),反正记住,comp定义为小于,就是升序了
6、并集的结果不能存入到待比较的序列位置中去,两者不允许重叠
7、实例:
运行结果: