Don't miss an insight. Subscribe to Techopedia for free.


Double-Ended Queue

What Does Double-Ended Queue Mean?

A double-ended queue is a
special type of data in the field of computer programming. In this abstract data type,
elements can be added from both the front and the back of the queue. Due to
this property, it is also known as a head-tail linked list. In this, the queue
actually symbolizes a collection of items arranged similarly to a line with two
ends. Items can be added or removed from either end without any type of
restrictions. Many programming languages use this technique due to its many


A double-ended queue is also known as a deque or a dequeue (pronounced “deck”).

Techopedia Explains Double-Ended Queue

A deque allows the
programmer to freely interact with the list of objects. While a
deque seems to have all the features of stacks and normal queues, it lacks some of
their limitations. For example, FIFO and LIFO orders are not required by
the deque data structure, while they are very strict requirements of normal
queues and stacks.

A deque can be initiated in two ways, either with a
doubly-linked list or with a dynamic array list. In the dynamic array list,
otherwise known as an array deque, the items can be easily removed from the ends
of the lists and can be accessed constantly. However, removing an object
from the middle can be very inefficient. A doubly-linked list can be visualized
as two singly-linked lists joined at the middle. They are also very efficient as
items can be modified at both the ends, but they are slightly more difficult to deploy.


Related Terms