首页 > 代码库 > A、B两个整数集合,设计一个算法求他们的交集

A、B两个整数集合,设计一个算法求他们的交集

代码留作记录,本人水平有限,看了别人的解法真是自愧不如。

关于此题的详细探讨可以参考: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;
}