def node_up(self, node): if self.is_empty(): raise Base.Empty("Top is empty") e = self._delete_node(node._prev) self._insert_between(e, node, node._next) return node
def view_list(self): if self.is_empty(): raise Base.Empty("List is empty") node = self.next() while node != self._center: print(self.get_element(node), end=' ') node = node._next print()
def view_circle(self, iter): if self.is_empty(): raise Base.Empty("List is empty") node = self.next() for i in range(self.len() * iter): print(self.get_element(node), end=' ') node = self.next(node) print()
def next(self, node=0): if self.is_empty(): raise Base.Empty("List is empty") if node == 0: node = self._center if node._next != self._center: return node._next else: return node._next._next
def next(self, node=0): if self.is_empty(): raise Base.Empty("Top is empty") if node == 0: node = self._header return node._next
def get_element(self, node): if self.is_empty(): raise Base.Empty("List is empty") return node._element
def next_element(self, node=0): if self.is_empty(): raise Base.Empty("List is empty") if node == 0: node = self._center return self.next(node)._element
def pop_left(self): if self.is_empty(): raise Base.Empty("List is empty") return self._delete_node(self._center._prev)
def pop_right(self): if self.is_empty(): raise Base.Empty("List is empty") return self._delete_node(self._center._next)