双链表的类定义python

python class DoublyLinkedList: def init(self): self.head = None self.tail = None
def append(self, value): new_node = Node(value) if not self.head: self.head = new_node self.tail = new_node else: self.tail.next = new_node new_node.prev = self.tail self.tail = new_node
def prepend(self, value): new_node = Node(value) if not self.head: self.head = new_node self.tail = new_node else: new_node.next = self.head self.head.prev = new_node self.head = new_node
def remove(self, node): if node.prev: node.prev.next = node.next if node.next: node.next.prev = node.prev if node == self.head: self.head = node.next if node == self.tail: self.tail = node.prev del node
class Node: def init(self, value): self.value = value self.prev = None self.next = None

相关推荐