Question: The code is in Python It needs to be modified to include a reverse method that reverses the order of the list, yet without creating
The code is in Python It needs to be modified to include a reverse method that reverses the order of the list, yet without creating or destroying any nodes. class
class _DoublyLinkedList(object): # nested _Node class------------------------------------------------------- class _Node: __slots__ = "_element", "_prev", "_next" def __init__(self, element, previous, next_): self._element = element self._prev = previous self._next = next_ class Empty(Exception): pass # ------------------------------------------------------------------------- def __init__(self): self.header = self._Node(None, None, None) self.trailer = self._Node(None, None, None) self.header._next = self.trailer self.trailer._prev = self.header self.size = 0 def __len__(self): return self.size def is_empty(self): return self.size == 0 def insert_between(self, e, predecessor, successor): new_node = self._Node(e, predecessor, successor) predecessor._next = new_node successor._prev = new_node self.size += 1 return new_node def delete_node(self, a_node): """Should not delete sentinels.""" # Error management? prev_ = a_node._prev next_ = a_node._next prev_._next = next_ next_._prev = prev_ temp = a_node._element a_node._prev = a_node._next = None self.size -= 1 return temp
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
