Stack Queue: F I F O
Stack Queue: F I F O
Enqueue: Adds an item to the queue. If the queue is full, then it is said to be an Overflow condition.
Dequeue: Removes an item from the queue. The items are popped in the same order in which they
are pushed. If the queue is empty, then it is said to be an Underflow condition.
Front: Get the front item from queue.
Rear: Get the last item from queue.
Queue is used when things dont have to be processed immediatly, but have to be processed
in First InFirst Out order like Breadth First Search.
Breadth first search does the search for nodes level-by-level, i.e. it searches the nodes with respect
to their distance from the root.