代码留作记录,本人水平有限,看了别人的解法真是自愧不如。
关于此题的详细探讨可以参考: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