May 2017
Intermediate to advanced
310 pages
8h 5m
English
The other operation that makes our doubly linked list behave as a queue is the dequeue method. This method is what removes the node at the front of the queue.
To remove the first element pointed to by self.head, an if statement is used:
def dequeue(self): current = self.head if self.count == 1: self.count -= 1 self.head = None self.tail = None elif self.count > 1: self.head = self.head.next self.head.prev = None self.count -= 1
current is initialized by pointing it to self.head. If self.count is 1, then it means only one node is in the list and invariably the queue. Thus, to remove the associated node (pointed to by self.head), the self.head and self.tail variables are set to None.
If, on the other hand, the queue ...