In computing, a queue is a collection of entities that are maintained in a sequence and can be modified by the addition of entities at one end of the sequence and the removal of entities from the other end of the sequence. Queues are common in computer programs, where they are implemented as data structures coupled with access routines, as an abstract data structure or in object-oriented programming languages as classes.
The name “queue” comes from the French word for line or chain. In English, queues were first described by Charles Babbage in 1837.
A queue is a data structure that represents a list of elements in order. The first element in the queue is called the “first-in, first-out” (FIFO) element. The last element in the queue is called the “last-in, first-out” (LIFO) element.
A queue can be implemented using an array or a linked list. In an array-based queue, the elements are stored in consecutive positions, and the operations of enqueue and dequeue are performed by incrementing or decrementing the front and rear pointers. In a linked list-based queue, each node contains a data field and a link field pointing to the next node; the operations of enqueue and dequeue are performed by changing these pointers.
The time complexity of both enqueue and dequeue is O(1).
In computer science, a queue is a particular kind of abstract data type or collection in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue. This makes the queue a First-In-First-Out (FIFO) data structure. In a FIFO data structure, the first element added to the queue will be the first one to be removed. This is equivalent to saying that once an entity is added, it stays in that position until it is removed.