STL源码剖析
漫步云巅Kim
就是想不那么平凡。
展开
-
STL标准库 关联式容器
RB-tree 红黑树 set 集合 底层数据结构 红黑树使用insert_unique() map 映射表底层数据结构 红黑树使用insert_unique() multiset 键值可重复底层数据结构 红黑树 使用insert_equip() multimap键值可重复底层数据结构 红黑树 使用insert_equip() hashtable 散列表 底层vector ...原创 2019-05-22 14:19:22 · 202 阅读 · 0 评论 -
STL标准库 序列容器
array 数组 vector heap 堆 用vector实现可以变化内存大小 priority-queue 优先队列 底层数据结构 二叉堆 大顶堆 list 链表 slist 单项链表 deque 双向队列 stack 栈(容器适配器) 底层deque 先进后出 queue 队列 (容器适配器)底层deque 先进先出 ...原创 2019-05-22 14:16:59 · 137 阅读 · 0 评论 -
STL标准库 vector
序列容器vector 线性的连续空间 区别与array数据,可以自动扩容空间。 关键在于三个迭代器 start 表示使用空间的头 finish 表示使用空间的尾 end_of_storage 表示整个空间的尾 经常使用的方法都是通过这三个迭代器实现的 例如begin() { return start;} 当前空间无法继续插入时,重新扩大空间为两倍。 扩大空间 先开辟双倍空间,...原创 2019-05-22 14:59:37 · 112 阅读 · 0 评论 -
STL标准库 list
序列容器list 自动开辟对应的内存空间,有多少个元素就操作多少个内存大小。 实现底层数据结构是用一个指针实现的环状双向链表。 迭代器直接指向节点,操作时指向下一个节点。 ...原创 2019-05-23 14:52:07 · 204 阅读 · 0 评论