Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
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 applications.
A double-ended queue is also known as a deque or a dequeue (pronounced “deck”).
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.