STL源码剖析读书笔记 第4章 序列式容器

第4章 序列式容器

4.1 容器的概观与分类
在这里插入图片描述
本图以内缩方式表达基层与衍生层的关系
4.1.1 序列式容器
元素都可序,但未排序。C++语
在这里插入图片描述
4.2 vector
4.2.1 vector概述
vector的数据安排以及操作方式与array非常相似,唯一差别在空间的运用弹性。array是静态空间,一旦配置了就无法更改。要换一个大点的房子,可以,首先要配置一块新空间,然后将元素从旧地址一一搬到新地址,最后再把就空间释放给内存。
vector是动态空间,随着元素的加入,它的内部机制会自动扩充空间以容纳新元素。
4.2.2 vector 定义式摘要
4.2.3 vector的迭代器
Vector支持随机存储,而原生指标天生就有这样的能力。所以vector提供的是Random Access lterators
4.2.4 vector的数据结构
线性连续空间,它以两个迭代器start和finish分别指向配置器得来的连续空间中目前以被人使用的范围,并以迭代器end_of_stroage指向整块连续空间的尾端:
在这里插入图片描述
4.2.5 vector的建构与内存管理:constructor,push_back
在这里插入图片描述
在这里插入图片描述
所谓动态增加大小,并不是在原空间之后续借新空间,而是以原大小两倍另外配置一块较大的空间,然后将原内容拷贝过来,构建新元素,释放原空间。
4.2.6 元素操作 ;pop_back,erase,clear,insert
在这里插入图片描述
4.3 list
4.3.1 list概述
list每次安插或删除一个元素时,就配置或释放一个元素空间。
4.3.2 list的节点
在这里插入图片描述
4.3.3 list的迭代器
list提供的是Bidrectional lterators
在这里插入图片描述
4.3.4 list的数据结构
在这里插入图片描述
4.3.5 list构建与内存管理

4.4 deque
4.4.1 deque概述
双向开口的连续线性空间
在这里插入图片描述
4.4.3 deque的迭代器
在这里插入图片描述
在这里插入图片描述
4.5 stack
先进后出,推入push推出pop,没有迭代器。
在这里插入图片描述

4.6 queue
先进先出,
在这里插入图片描述在这里插入图片描述
4.8 priority_queue
4.8.1 概述
没有迭代器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值