STL各类容器的API

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

所有关联容器头提供一个insert,用以插入元素(键值对)
set于multiset都支持双向迭代器。 


 
Set:
所有的关联容器关心的是健值对。
set中的元素是键值对。只不过键和值相等而已。
插入删除元素时,set中的元素会按键进行排序。


默认按键的升序排列,less  (即operator< 表示前比后小)
降序序列,greater   (即operator> 标识前比后大) 


 
Set API
集合也看成关联容器,其键、值相等。关键字按比较器类型排序(默认升序,less
set  multiset的接口大致相同。不同的是多值集合允许关键字重复


SET API 
set的构造函数:
set()    ;   生成一个空集 
set(a,b) ;   用迭代子区间[a,b)去初始化 


增加元素:
.insert(key)   ;把key标识的元素插入集合(不允许插入重复值) 
.insert(set::iterator pos,const T&key);   把key插入pos迭代器
引用的位置之前。这个pos只起到提示的作用,真正插在什么位置。由
容器处理元素的顺序和key本身决定。


 


删除元素:
int   .erase(key);     删除key指定的元素,并返回实际删除的key的个数 
.erase(迭代子位置pos)   迭代子位置不允许使用:it+n类似的求值 


查找元素:
.find(key)
按关键字查找,返回元素位置(迭代子) 


计数:
.count(key)
返回key元素的个数。set要么是0,要么是1
multiset返回非负数。 


multiset:
和set类似,只不过其允许重复的关键字代表的元素。




支持insert接口?
所有的STL容器都有至少一个insert版本






 

转载于:https://my.oschina.net/u/2467198/blog/624751

你可能感兴趣的:(STL各类容器的API)