Avevo sempre pensato che la "testa" di una coda fosse il prossimo elemento da leggere, e non avevo mai messo in dubbio quell'uso. Quindi una libreria di liste collegate che ho scritto, che è usata per mantenere le code, ha codificato quella terminologia: abbiamo una macro list1_head
che recupera il primo elemento; quando si utilizza questa libreria in una coda, questo sarà il primo elemento da rimuovere.
Ma un nuovo sviluppatore del team era abituato ad avere le code implementate al contrario. Ha descritto una coda come comportarsi come un cane: si inserisce alla testa e si toglie alla coda. Questa è una descrizione abbastanza intelligente che ritengo che il suo utilizzo debba essere più diffuso, e non ho una descrizione altrettanto evocativa del mio utilizzo preferito.
Quindi, immagino, ci sono due domande correlate: 1, cosa significa per te la "testa" di una coda? e 2, perché usiamo la parola "testa" per descrivere quel concetto?