前言
给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。
提示:以下是本篇文章正文内容,下面案例可供参考
代码如下(示例):
#include<cstdio>
#include<set>
using namespace std;
set<int> A;
set<int> B;
set<int> j;
set<int> b;
set<int> y;
int main(){
int n,m;
scanf("%d",&n);
for(int i=0;i<n;i++){
int cur;
scanf("%d",&cur);
A.insert(cur);
}
scanf("%d",&m);
for(int i=0;i<m;i++){
int cur;
scanf("%d",&cur);
B.insert(cur);
}
set<int>::iterator it;
for(it=A.begin();it!=A.end();it++){
if(B.count(*it)){
j.insert(*it);
}
}
for(it=A.begin();it!=A.end();it++){
b.insert(*it);
}
for(it=B.begin();it!=B.end();it++){
b.insert(*it);
}
for(it=A.begin();it!=A.end();it++){
if(!B.count(*it)){
y.insert(*it);
}
}
for(it=j.begin();it!=j.end();it++){
printf("%d ",*it);
}
printf("\n");
for(it=b.begin();it!=b.end();it++){
printf("%d ",*it);
}
printf("\n");
for(it=y.begin();it!=y.end();it++){
printf("%d ",*it);
}
printf("\n");
return 0;
}
总结
提示:就是简简单单的枚举一下3种情况,时间复杂度O(n).