-
set_union: 构造一个有序序列,包含两个有序序列的并集。
- set_intersection: 构造一个有序序列,包含两个有序序列的交集。
- set_difference: 构造一个有序序列,该序列保留第一个有序序列中存在而第二个有序序列中不存在的元素。
-
#include<iostream> #include<vector> using namespace std; int main() { vector<int> v1(10),v2(10),v3(20),v4(20),v5(20); for(int i=0;i<10;i++) { v1[i]=i+1; v2[i]=i+5; } for(vector<int>::iterator it=v1.begin();it!=v1.end();it++) { cout << *it << " "; } cout << endl; for(vector<int>::iterator it=v2.begin();it!=v2.end();it++) { cout << *it << " "; } cout << endl; set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),v3.begin()); for(vector<int>::iterator it=v3.begin();it!=v3.end();it++) { cout << *it << " "; } cout << endl; set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),v4.begin()); for(vector<int>::iterator it=v4.begin();it!=v4.end();it++) { cout << *it << " "; } cout << endl; set_difference(v1.begin(),v1.end(),v2.begin(),v2.end(),v5.begin()); for(vector<int>::iterator it=v5.begin();it!=v5.end();it++) { cout << *it << " "; } cout << endl; return 0; }
首先,对v1和v2 进行初始化。
-
通过调用set_union函数,将v1和v2 中元素的并集求出来。
-
通过调用set_intersection函数,将v1 和v2 中元素的交集求出来。
-
通过调用set_difference函数,将v1中v2不含的参数 、v2中v1不含的参数打出来。
注意:以上三个函数都是针对有序序列而言的。注意元素的有序性。