STL
HIT_KyleChen
行胜于言
展开
-
STL常用用法汇总
原创 2020-04-08 09:49:13 · 796 阅读 · 1 评论 -
STL标准模板库概述
1.组成部分STL提供六大组件彼此此可以组合套用:1、容器容器就是各种数据结构,我就不多说,看看下面这张图回忆一下就好了,从实现角度看,STL容器是一种class template。1.vector:底层数据结构为数组 ,支持快速随机访问。2.list:底层数据结构为双向链表,支持快速增删。3.deque:底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146...原创 2019-05-25 09:47:22 · 600 阅读 · 0 评论 -
一篇文章搞懂STL中的顺序容器之deque
0.概述1.中控器与迭代器原理讲解源码实现2.内存管理3.使用4.参考0.概述什么是deque呢?一句话来概括,deque是一种 双向开口的"连续"线性空间存储数据的数据结构(注意这里的连续打了双引号,后面会解释)咱们来对比一下deque和vector的一些区别优点:1.vector是单向开口 deque是双向开口.也就是说vector只能...原创 2019-03-23 22:03:20 · 738 阅读 · 1 评论 -
一篇文章搞懂STL中的顺序容器之list
0.概述1.结点2.迭代器3.数据结构4.内存管理4.1内存分配与释放空间配置器list_node_allocator开辟一个节点空间get_node()释放一个结点空间put_node()开辟一个结点空间并构造create_node()释放一个结点空间并析构destory_node() 4.2内存使用构造函数list()pus...原创 2019-03-23 14:52:38 · 595 阅读 · 0 评论 -
一篇文章搞懂STL中的空间配置器allocator(原创,多图,易懂)
Table of Contents0.引入1.标准的空间配置器allocator2.更为高效的空间配置器alloc2.1----对象的构造与析构2.1.1 对象的构造:::construct();2.1.2对象的析构:::destroy();2.2----内存的配置与释放2.2.0 概述2.2.1一级配置器:__malloc_alloc_template2...原创 2019-03-18 19:21:04 · 3859 阅读 · 3 评论 -
一篇文章彻底搞懂哈希表
Table of Contents1.原理讲解1.1散列表的概述1.2散列表的优缺点1.3散列表的关键问题之散列函数的构建1.4散列表的关键问题之散列冲突的处理1.5散列表的性能分析2.源码实现2.1 节点定义2.2 迭代器2.3 数据结构3.内存管理3.1空间配置器3.2 构造函数3.3插入函数insert3.4元素地...原创 2019-03-25 11:25:34 · 1896 阅读 · 0 评论 -
一篇文章搞懂STL中的顺序容器之Vector
Table of Contents0.概述1.迭代器(成员变量)2.数据结构(成员变量)3.内存管理(成员函数)内存扩容构造函数push_back()函数pop_back函数insert函数erase函数clear函数析构函数4.使用方法5.相关问题6.参考0.概述vector动态数组, 顾名思义,空间可以动态变化...原创 2019-03-21 15:34:11 · 1993 阅读 · 1 评论 -
一篇文章彻底搞懂红黑树(多图,看完包懂)
Table of Contents1.定义2.性质3.基本操作4.功能4.1查找4.2 插入4.3 删除5.红黑树的部分实现6.应用--map/multimap0.概述2.用法7.应用--set/multiset1.概述2.用法8.问题&总结0.概述如上图整理所示 红黑树是一种平衡的二叉树,引入它为了解决的...原创 2019-03-24 18:09:14 · 5025 阅读 · 4 评论 -
一篇文章搞懂STL中的迭代器Iterator
Table of Contents0.概述迭代器是一种智能指针迭代器是一种连接容器和算法的桥梁1.迭代器的分类Input(输入)迭代器Output(输出)迭代器Forward(前向)迭代器Bidirectional(双向)迭代器Random Access(随机存取)迭代器迭代器相关算法函数各个容器支持的迭代器2.迭代器的失效...原创 2019-03-21 09:08:24 · 2018 阅读 · 0 评论