A queue is a linear collection of nodes that exclusively adds (enqueues)
nodes to the tail, and removes (dequeues) nodes from the head of the
queue. They can be implemented using different underlying data
structures, but one of the more common methods is to use a singly linked
list, which is what you will be using for your
class. Think of the queue data structure as an actual queue, or line,
in a grocery store. The person at the front gets to leave the line
first, and every person who joins the line has to join in the back.