(PECL ds >= 1.0.0)
Двухсторонняя очередь - это последовательность значений в непрерывном буфере, который растёт и уменьшаются автоматически. Deque (произносится как "deck") является аббревиатурой от "double-ended queue" и используется внутри Ds\Queue.
Два указателя используются для отслеживания начала и конца. Указатели могут "обернуть" конец очереди, что позволяет избежать перемещения значений для освобождения места. Это делает операции shift и unshift такими быстрыми, что Ds\Vector не может с этим соперничать.
Доступ к элементу по индексу требует пересчёта в зависимости от его индекса в буфере: ((head + position) % capacity)
.
Версия | Описание |
---|---|
PECL ds 1.3.0 | Теперь класс реализует ArrayAccess. |