Data Structures
So, did we need a tail pointer?
Yes! Otherwise traversals would have been required
How does the linked list compare with the
circular array?
Array:     array[rear] = data
         rear = rear % size +1;
Linked list:   tail->next = new node;
         tail = tail->next;
         tail->member = data
         tail->next = NULL;