A linked list is a linear collection of data elements, called nodes,
where the linear order is given by pointers. Each node has two parts
first part contain the information of the element second part contains
the address of the next node in the list.
Data stored in a queue is actually stored in an array. Two indexes, front and
end will be used to identify the start and end of the queue.
When an element is removed front will be incremented by 1. In case it reaches
past the last index available it will be reset to 0. Then it will be checked
with end. If it is greater than end queue is empty.
When an element is added end will be incremented by 1. In case it reaches past
the last index available it will be reset to 0. After incrementing it will be
checked with front. If they are equal queue is full.