C++ STL 集合运算
定义于头文件<algorithm>
的算法:
集合运算的前提是两个集合必须按照同样的规则排序就绪,否则不能进行集合运算!
- map,set是有序集合,可以直接参加运算;vector是无序集合,参与运算前必须首先排序.
template< class InputIt1, class InputIt2, class OutputIt >
前两个参数是输入参数,代表参与集合运算的两个集合,最后一个是输出参数,输出运算结果(**也是相同排序规则的集合**)。
- 交集(set_intersection) A∩B A ∩ B
OutputIt set_intersection( InputIt1 first1, InputIt1 last1,InputIt2 first2, InputIt2 last2, OutputIt d_first ); - 并集(set_union) A∪B A ∪ B
OutputIt set_union( InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, OutputIt d_first ); - 差集(set_difference) A−B A − B
Outpu