title: why does tail in circular queue point to empty element?
body: <p>I want to know why does tail in the circular queue have to point to an empty element?
  As we all know, the capacity of circular queue is (N-1), because it has to leave an empty space for queue to judge if the queue is full. But in my perspective, that is because of the tail pointer has to point to an empty element, if it can be point to the last element, not the empty one, it can full all spaces in the queue.
  So I want to know why we design the circular queue as this format, thanks a lot!</p>