C++容器---关联式容器
来源:互联网 发布:淘宝中小卖家名单 编辑:程序博客网 时间:2024/05/18 01:47
标准的STL关联式容器分为set和map两大类,以及这两大类的衍生体multiset和multimap。这些容器的底层机制均以RB-tree完成。
关联式容器:每个元素都有一个键值(key)和一个实值(value)。当元素被插入到关联式容器中时,容器内部结构便依照其键值大小,以某种特定规则将这个元素放置于适当位置。一般而言,关联式容器是一个平衡二叉树,以便获得良好的搜寻效率。平衡二叉树包括AVL-tree,RB-tree,AA-tree。
Set和MutiSet
set是集合,它的元素的键值就是实值,实值就是键值,不允许两个元素有相同的值。
我们不可以通过set的iterator来改变元素的值,因为set的元素值就是键值,改变键值会违反元素排列的规则。
在客户端对set进行插入或删除操作后,之前的迭代器依然有效(当然被删除那个元素的迭代器除外)。
set底层机制是RB-tree,所有的操作都只是转掉RB-tree的操作行为而已。
MultiSet和set几乎一样,唯一的区别是,multiset允许键值重复。
Map和MultiMap
Map的元素都是pair,第一个值是键值,第二个是实值。
我们可以通过map的迭代器来改变元素的实值。
MultiMap和Map几乎一样,唯一的区别是允许键值重复。
阅读全文
0 0
- C++primer 关联容器
- 《C++primer》关联容器
- C++MAP关联容器
- C++map关联容器
- 数据结构-关联容器(C++)
- C++----关联容器
- 关联容器(Java/C++)
- C++容器---关联式容器
- 关联式容器
- 关联式容器
- 关联式容器
- 关联式容器
- STL-关联式容器
- 关联式容器
- 关联式容器-map
- 关联式容器
- 【STL】关联式容器
- STL容器-关联式容器set/multiset
- 函数指针的一个例子以及*p和p[0]的关系
- [NOIP2017模拟]Heal
- 算法基础--穷举
- 生成模糊图像
- LeetCode:Palindromic Substrings
- C++容器---关联式容器
- 漫画:如何破解MD5算法?
- 学习才是硬道理
- C++容器----容器适配器
- java学习系列2(并发锁问题-乐观锁与悲观锁以及乐观锁的一种实现方式-CAS)
- python书单
- VB6.0安装鼠标滚轮
- osmdroid API解读(十三)
- jsp 判断标签使用