A queue is a data structure that places elements in a sequence, similar to a line of people waiting for something. It 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 commonly used in computer programs, where they are implemented as data structures coupled with access routines, as an abstract data structure or in object-oriented languages as classes.
A queue follows the FIFO (First In First Out) principle, which means that the first element that is enqueued will be the first one to be dequeued. The position of the entry in a queue ready to be served is called the front of the queue, and the position of the last entry in the queue is called the rear (or the tail) of the queue. Queues can handle multiple data and are fast and flexible.
Queues are used in various contexts, such as computer science, transport, and operations research, where various entities such as data, objects, persons, or events are stored and held to be processed later. They can also be used in the implementation of breadth-first search.
In summary, a queue is a data structure that follows the FIFO principle and is commonly used in computer programs and other contexts to store and process entities in a sequence.