Construction

This note is under construction.

Citation

This note lacks citations.

Lead

A double-ended queue [1] (abbreviated to deque), is an abstract data type.

Implementation


There are at least two ways to efficiently implement a deque: with a doubly linked list or with a modified dynamic array.

Doubly linked list


Doubly-linked list

Dynamic array


While a dynamic array can be used to implement a deque, a variant that can grow from both ends is more appropriate. This is sometimes called array deques.

References

  1. [1]

    “Double-ended queue”, Wikipedia, Available: https://en.wikipedia.org/wiki/Double-ended_queue, Accessed: 2026-06-17