# Implementation of the Queue ADT using a Python list. class Queue : # Creates an empty queue. def __init__( self ): self._qList = list() # Returns True if the queue is empty. def is_empty( self ): return len( self ) == 0 # Returns the number of items in the queue. def __len__( self ): return len( self._qList ) # Adds the given item to the queue. def enqueue( self, item ): self._qList.append( item ) # Removes and returns the first item in the queue. def dequeue( self ): assert not self.is_empty(), "Cannot dequeue from an empty queue." return self._qList.pop( 0 ) # Examine the first item without removing it def peek( self ): assert not self.is_empty(), "Cannot peek from an empty queue." item = self._qList[ 0 ] return item