【set】
set并非严格意义上的集合,而是元素被排过序的集合。set基于二叉树,像其中填入元素,c++参考中说的是,set中的元素具有严格的大小关系,正因如此,set才有类似于begin和end的方法。
begin:返回从set最开始处的迭代器。
end:返回从set最后位置的迭代器。
rbegin/rend:逆向迭代。
empty:若集合非空,返回假;若空,返回真。
size:返回set中元素个数。
insert:将元素添加进集合。
erase:将元素移除集合。
clear:清空集合。
find:得到一个指向指定元素的迭代器。
count:查找指定元素是否在集合中。
set集合默认排序法则是比较元素自身,只要元素定义了"<"运算符就可以进行比较。如果不想用默认值越小越优先(less)的排序规则,可以自定义进行修改。
【map】
map是存储映射关系的容器,可以理解为高级版本的数组,因为它的索引不一定是整数。map与set很像,同样也是基于二叉树的结构,所以也具有排序特点。unordered_map查找值是通过查找键(key)来实现的。
map方法大多与set相似。
find:得到指向特定值的迭代器。
count:通过键查找值,如果找到返回true。
[]/at:通过特定的键获取对应的值。