求整数集合A与整数集合B的交集。
输入格式:
输入有三行: 第一行是A和B的元素个数m和n; 第二行是集合A的m个元素; 第三行是集合A的n个元素。
输出格式:
输出交集的所有元素(按照在A集合出现的顺序输出,最后一个输出后面没有空格)。
输入样例:
在这里给出一组输入。例如:
3 4
10 9 2
9 10 8 0
输出样例:
在这里给出相应的输出。例如:
10 9
#include <iostream>
using namespace std;
class Sqlist {
public:
int length=0;
int listsize;
int *elme;
void initList(int n) {
elme = new int[n];
length = 0;
listsize = n;
}
void showList(){//展示列表
for (int i = 0; i < listsize; ++i) {
cout<<elme[i];
if(i!=listsize-1)cout<<" ";
}
}
void add(int n){//添加
elme[length++]=n;
}
void find(Sqlist &l){//找交集,或者可以在里面新建一个顺序表,有交集add,最后返回,直接把返回的show即可
bool flag=false;
for (int i = 0; i < length; ++i) {
for (int j = 0; j < l.length; ++j) {
if(elme[i]==l.elme[j]){
if(flag)cout<<" ";
cout<<elme[i];
flag=true;
}
}
}
}
};
int main(){
Sqlist la,lb;
int n,m;
cin>>n>>m;
la.initList(n);
lb.initList(m);
int temp;
for (int i = 0; i < n; ++i) {
cin>>temp;
la.add(temp);
}
for (int i = 0; i < m; ++i) {
cin>>temp;
lb.add(temp);
}
la.find(lb);
}