关联式容器

Posted yanghh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关联式容器相关的知识,希望对你有一定的参考价值。

1. set

   set 是关联容器,含有键值类型对象的已排序集,搜索、移除和插入拥有对数复杂度。 

   set 内部通常采用红黑树实现。和数学中的集合相似, set 中不会出现值相同的元素。

   插入与删除操作:

insert(x)         : 当容器中没有等价元素的时候,将元素 x 插入到 set 中
erase(x)          : 删除值为 x 的元素,返回删除元素的个数
erase(pos)        : 删除迭代器为 pos 的元素,要求迭代器必须合法
erase(first,last) : 删除迭代器在[first,last]范围内的所有元素
clear()           : 清空 set 

   迭代器:

begin()/cbegin()   : 返回指向首元素的迭代器,其中 *begin = front 。
end()/cend()       : 返回指向数组尾端占位符的迭代器,注意是没有元素的。
rbegin()/rcbegin() : 返回指向逆向数组的首元素的逆向迭代器,可以理解为正向容器的末元素。
rend()/rcend()     : 返回指向逆向数组末元素后一位置的迭代器,对应容器首的前一个位置,没有元素。

   以上列出的迭代器中,含有字符 c 的为只读迭代器,你不能通过只读迭代器去修改 set 中的元素的值。

   如果一个 set 本身就是只读的,那么它的一般迭代器和只读迭代器完全等价。只读迭代器自 C++11 开始支持。

 

以上是关于关联式容器的主要内容,如果未能解决你的问题,请参考以下文章

C++进阶:关联式容器

map和set等关联式容器的使用

map和set等关联式容器的使用

set & multiset关联式容器 -C++

关联式容器

关联式容器