C++ 程序以在 STL 中实现 Set_Intersection
两个集合的交集仅由两个集合中公用的元素组成。函数复制的元素始终按相同顺序来自第一个集合。两个集合中的元素已经排列。
常见的集合运算有 −
- 集合并集
- 集合交集
- 对称集合差集或异或
- 集合差集或减法
算法
Begin Declare set vector v and iterator st. Initialize st = set_intersection (set1, set1 + n, set2, set2 +n, v.begin())) Print the intersection between two sets. End.
示例代码
#include <iostream> #include <algorithm> #include <vector> using namespace std; int main () { int set1[] = {5,6,7,8,9,10}; int set2[] = {1,2,3,4,6,7}; vector<int> v(10); vector<int>::iterator st; sort (set1, set1 + 6); sort (set2, set2 + 6); st = set_intersection (set1, set1 + 6, set2, set2 + 6, v.begin()); v.resize(st - v.begin()); cout << "The intersection between the two set has " << (v.size()) << " elements: "<<endl; for (st = v.begin(); st != v.end(); ++st) cout<< *st<<" "; cout <<endl; return 0; }
输出
The intersection between the two set has 2 elements: 6 7
广告