#include<set>
定义:
set<int>q;
multiset<int>q;
insert:
假如我们要插入一个值为x的元素:q.insert(x);
迭代器:
例子:
for(int i=1;i<=n;i++) int x=read(),q.insert(x);
for(set<int>::iterator it=q.begin();it!=q.end();it++) cout<<*it<<end;
find:
find是找在set中找到等于某个值并返回它的迭代器,如果是multiset,有相同的元素,那么他返回的是第一个等于某个值的迭代器;
set<int>::iterator it=q.find(x);
count:
查找某一个元素在集合中的个数,一般multiset中使用。
int sum=q.count(x);
erase:
erase可以用来删去集合中等于某个值的所有元素,也可以用来删除某个迭代器指向的元素。
q.erase(it); q.erase(x);
如果在multiset中想删去某一个等于x的单个元素,可以先用find函数找到一个迭代器,然后删除迭代器指向的元素即可。
lower_bound和upper_bound:
lower_bound用来找集合中第一个大于等于x的元素
upper_bound用来找集合中第一个大于x的元素
q.lower_bound(x); ……