set_union() //实现求集合A,B的并。 |
---|
set_difference()//实现求集合A,B的差(即A—B) |
set_symmetric_difference()//实现求集合A,B的对称差(即(A-B)并(B-A)) |
set_intersection()//实现求集合A,B交集。 |
这四种运算的参数有5个,前四个是first.begin(), first.end() ,second.begin(), second.end(); |
第五个参数:inserter(ans,ans.begin()); |
特别的使用时要求两个集合有序 |
适用多种容器,数组、向量、集合 |
求两个集合的并集
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
vector<int> first,second,ans;
first.push_back(1);
first.push_back(5);
first.push_back(2);
first.push_back(0);
second.push_back(2);
second.push_back(6);
second.push_back(4);
second.push_back(0);
sort(first.begin(),first.end());
sort(second.begin(),second.end());
set_union(first.begin(),first.end(),second.begin(),second.end(),inserter(ans,ans.begin()));
for(int i=0;i<ans.size();i++)
cout<<ans[i]<<endl;
return 0;
}