标签: deque - STEMHA's Blog

deque常用操作

概念

Deque(双向队列)

  • 和Queue差不多 ,但是特殊的是Deque可是扩充内存。(实际上连续内存的容器不能随意扩充,所以Deque也不是真正意义上的扩充内存,而是封装了底层的表象。
  • Deque是由一段段构成的,当走到尾端时自动跳到下一段,(支持迭代器++操作)。
  • 每次扩充,就会申请一个段,从而实现了内存连续的假象。

默认的stack 和 queue 都基于 deque 容器实现, priority_queue 则基于 vector 容器实现。
对于给定的适配器,其关联的容器必须满足一定的约束条件。

  • stack 适配器所关联的基础容器可以是任意一种顺序容器类型。因此,stack 栈可以建立在vector、list 或者 deque 容器之上。
  • queue 适配器要求其关联的基础容器必须提供 push_front 运算,因此只能建立在 list 或deque容器上,而不能建立在vector 容器上。
  • priority_queue 适配器要求提供随机访问功能,因此可建立在vector 或 deque 容器上,但不能建立在 list 容器上。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×