示例#1
0
    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
示例#2
0
 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()
示例#3
0
 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()
示例#4
0
 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
示例#5
0
 def next(self, node=0):
     if self.is_empty():
         raise Base.Empty("Top is empty")
     if node == 0: node = self._header
     return node._next
示例#6
0
 def get_element(self, node):
     if self.is_empty():
         raise Base.Empty("List is empty")
     return node._element
示例#7
0
 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
示例#8
0
 def pop_left(self):
     if self.is_empty():
         raise Base.Empty("List is empty")
     return self._delete_node(self._center._prev)
示例#9
0
 def pop_right(self):
     if self.is_empty():
         raise Base.Empty("List is empty")
     return self._delete_node(self._center._next)