I'm need help understanding the Circular Queue concept. I read a couple post on stackoverflow and none of the answers are answering a mental block I'm having.
For example say I have 8 cells in a Circular Queue.
        Head                              Tail
 empty|U    |   I  |   S  |   K  |   M  |   empty  |   empty 
Say I insert two characters F & P, which will make the queue change to.
  Tail  Head                                
 empty|U    |   I  |   S  |   K  |   M  |   F  |   P 
Now lets make things interesting , what if I remove 3 entries.
  Tail                                  Head                
 empty|  empty  |  empty   |  empty   |   K  |   M  |   F  |   P 
Clearly my Head and Tail has now changed and I have 3 new available spots. But for good measures I wanted to add two more entries.
            Tail                Head                
 A|  B  |  empty   |  empty   |   K  |   M  |   F  |   P 
Here is my questions
Did I implement this right? LOL What happens when you fill the queue up completely as in the Tail and Head are in the same position i.e "K"? If some one can explain this concepts a little more detail and clarity I would appreciated it.
Thanks!
 
     
     
    