C++ STL笔记四:deque容器;deque内部工作原理;deque构造函数;deque赋值;deque大小;deque存取;deque排序;deque插入删除

本文详细介绍了C++标准库中的deque容器,它是一种双端数组,支持快速的头尾插入和删除操作。deque与vector的主要区别在于其在头部操作的效率更高,但访问速度相对较慢。deque的内部工作原理涉及多个缓冲区和中控器,以实现类似连续内存空间的效果。此外,文章还涵盖了deque的构造函数、赋值操作、大小操作、插入删除操作以及数据存取方法。并举例展示了如何使用deque进行元素的插入、删除和排序。最后,文章强调了deque在某些操作上的优势和适用场景。

deque容器功能

  • 双端数组,可以对头端进行插入删除操作。

deque与vector区别

  • vector对于头部的插入删除效率低,数据量越大,效率越低。vector需要重新移动所有数据。
  • deque相对而言,对头部的插入删除速度会比vector快。deque容器头端也有开口。
  • vector访问元素时的速度会比deque快,这和两者内部实现有关。vector内部是一段连续的线性空间。而deque就不一样了。



deque内部工作原理:

deque两端是开放的,两端front和back各自提供两个push和pop接口。

跟vector一样,第一个元素也是front(),最后一个元素也是back()。

deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据。

中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值