(PECL ds >= 1.0.0)
Deque(发音为“deck”)是在连续缓冲区中的一系列值,该缓冲区会自动增长和收缩。该名称是“双端队列”的常用缩写,并被Ds\Queue内部使用。
使用两个指针来跟踪头部和尾部。指针可以“环绕”缓冲区的末尾,从而避免需要移动其他值来腾出空间。这使得 shift 和 unshift 非常快——这是Ds\Vector无法比拟的。
通过索引访问值需要在索引及其在缓冲区中的相应位置之间进行转换:((head + position) % capacity)
。