关联式容器
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 开始支持。
以上是关于关联式容器的主要内容,如果未能解决你的问题,请参考以下文章