set所有元素都会根据元素的键值自动排序,无重复元素
set<int> s;
int a;
1.初始化
- set<int> s;
- set<int> s(s1);
- vector<int> v;set<int> s(v.begin(),v.end());
2.插入
- s.insert(a);
3.集合运算
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
int main()
{
int a[5]={1,2,3,4,5};
int b[5]={3,4,5,6,7};
set<int> s1(a,a+5);
set<int> s2(b,b+5);
set<int> s;
set_intersection(s1.begin(),s1.end(),s2.begin(),s2.end(),inserter(s,s.begin()));
for(set<int>::iterator iter=s.begin();iter!=s.end();++iter)
{
cout<<*iter;
}
return 0;
}
- set_intersection();交集
- set_union();并集
- set_difference();差集
- set_symmetric_difference();得到的结果是 第一个迭代器相对于第二个的差集 并上第二个相对于第一个的差集
- count(i);返回集合中i的个数