集合算法
set_intersection:求交集
这个函数返回的是这个容器求交集后最后的那个迭代器
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[10]={1,2,3,4,3,2,4,2,3,2};
sort(a,a+10);
int b[20]={1,233,4,2,3,2,1,3,1,1,4};
sort(b,b+20);
int c[10];
for(int *p=c;p!=set_intersection(a,a+10,b,b+20,c);p++)
{
cout<<*p<<endl;
}
}
注意点:必须先sort才可以使用这个函数,如果是容器,那么第三个容器还必须开辟空间resize()
set_union
求并集和上面用法一样
set_difference
用法一样,不过注意a数组的差集不等于b数组的差集!