A queue is a "first in, first out" abstract data type. Like a checkout
queue (line) at a store, the first item in the queue is the first
one out. New items are added to the end of the queue via pushback()
.
Items are removed from the queue at the front via pop()
.
The implementation is a head/tail doubly linked list.