May 2017
Intermediate to advanced
310 pages
8h 5m
English
During an append operation, it is important to check whether the head is None. If it is None, it means that the list is empty and should have the head set pointing to the just-created node. The tail of the list is also pointed at the new node through the head. By the end of these series of steps, head and tail will now be pointing to the same node:
def append(self, data): """ Append an item to the list. """ new_node = Node(data, None, None) if self.head is None: self.head = new_node self.tail = self.head else: new_node.prev = self.tail self.tail.next = new_node self.tail = new_node self.count += 1
The following diagram illustrates the head and tail pointers of the doubly linked list when a new node is added to ...