C++ STL deque类

deque类

概念:
1.是双端队列,双端队列是动态大小的序列式容器,其可以向两端进行伸缩
2.特定的库可以以不同的方式实现deque,但通常都是一种动态数组。不论在何种情况下,它都允许通过随机访问迭代器直接访问单个元素,可以根据需要动态的伸缩。
3.,deque提供了一些与vector相似的功能,但deque在头部和尾部进行数据插入和删除操作更加高 效。与vector不同的是,deque不能保证所有的元素存储在连续的空间中,

deque的使用
deque接口的使用基本与vector、list一致。可参照之前的内容学习。

deque的底层结构
deque是假想的连续空间,实际是不连续的。
C++ STL deque类
deque的迭代器
双端队列底层是一段假象的连续空间,实际是分段连续的,为了维护其“整体连续”的假象,deque的迭代器完成了这些,双端队列的迭代器可以让用户将其当成连续的空间来访问。(双端队列迭代器主要解决的是:边界控制

deque迭代器的原理:
C++ STL deque类

通过一个例题来理解deque迭代器在底层执行的方式:
输出deque中的所有元素。
C++ STL deque类