代码留作记录,本人水平有限,看了别人的解法真是自愧不如。
关于此题的详细探讨可以参考:http://blog.csdn.net/thebestdavid/article/details/12056293
/*A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。*/
#include <iostream>
#include <cstring>
#include <set>
#define M 8
#define N 5
using namespace std;
int main(){
int A[] = {-1, 2 ,39 ,10, 6, 11, 188, 10};
int B[] = {39 ,8 , 10, 6, -1};
set<int> sa;
set<int> sb;
for(int i=0;i<M;i++){
sa.insert(A[i]);
}
set<int>::iterator it;
for(int i=0;i<N;i++){
if(sa.find(B[i])!=sa.end()){
sb.insert(B[i]);
}
}
for(set<int>::iterator it=sb.begin();it!=sb.end();it++){
cout<<*it<<" ";
}
cout<<endl;
return 0;
}
A、B两个整数集合,设计一个算法求他们的交集,布布扣,bubuko.com
原文地址:http://blog.csdn.net/dutsoft/article/details/26284351