Queue Data Structure
A queue is a kind of abstract data type or collection in which the entities in the collection are kept in order and the
only operations on the collection are the addition of entities to the rear terminal position, called as enqueue, and removal of entities
from the front terminal position, called as dequeue. The queue is called as 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 the requirement that once
a new element is added, all elements that were added before have to be removed before the new element can be removed. Often a peek or
front operation is also entered, returning the value of the front element without dequeuing it. A queue is an example of a linear data
structure, or more abstractly a sequential collection.