On a queue, which end is the "head"?
        Posted  
        
            by 
                Aidan Cully
            
        on Programmers
        
        See other posts from Programmers
        
            or by Aidan Cully
        
        
        
        Published on 2012-04-14T21:05:12Z
        Indexed on 
            2012/04/14
            23:45 UTC
        
        
        Read the original article
        Hit count: 404
        
terminology
I had always thought that the "head" of a queue as the next element to be read, and never really questioned that usage. So a linked-list library I wrote, which is used for maintaining queues, codified that terminology: we have a list1_head macro that retrieves the first element; when using this library in a queue, this will be the first element to be removed.
But a new developer on the team was used to having queues implemented the other way around. He described a queue as behaving like a dog: you insert at the head, and remove at the tail. This is a clever enough description that I feel like his usage must be more widespread, and I don't have a similarly evocative description of my preferred usage.
So, I guess, there are two related questions: 1, what does the "head" of a queue mean to you? and 2, why do we use the word "head" to describe that concept?
© Programmers or respective owner