交集、并集:set_intersection()、set_union())
1.交集(求两个数组共同有的元素
)
#include <bits/stdc++.h>
using namespace std;
const int N = 11111;
int x[N],y[N];
int n;
vector<int> vt;
int main()
{
cin>>n;
for(int i=0;i<n;i++) cin>>x[i];
for(int i=0;i<n;i++) cin>>y[i];
set_intersection(x,x+n,y,y+n,inserter(vt,vt.begin()));
for(int i=0;i<vt.size();i++) cout<<vt[i]<<" ";
return 0;
}
运行结果:
2.并集
#include <bits/stdc++.h>
using namespace std;
const int N = 11111;
int x[N],y[N];
int n;
vector<int> vt;
int main()
{
cin>>n;
for(int i=0;i<n;i++) cin>>x[i];
for(int i=0;i<n;i++) cin>>y[i];
set_union(x,x+n,y,y+n,inserter(vt,vt.begin()));
for(auto it:vt)
{
cout<<it<<" ";
}
return 0;
}
运行结果: