#!/usr/bin/python3
#建立双向链表。
class Node():
def init(self,data=None):
self.data=data
self.next=None
self.previous=None
class DoubleLinkedList():
def init(self):
self.head=None
self.tail=None
def addDoubleList(self,newNode):if isinstance(newNode,Node):if self.head==None:self.head=newNodenewNode.previous=NonenewNode.next=Noneself.tail=newNodeelse:self.tail.next=newNodenewNode.previous=self.tailself.tail=newNodereturndef printListFromHead(self):ptr=self.head while ptr:print(ptr.data)ptr=ptr.nextdef printListFromTail(self):ptr=self.tailwhile ptr:print(ptr.data)ptr=ptr.previous
doubleLink=DoubleLinkedList()
n1=Node(5)
n2=Node(15)
n3=Node(25)
for n in [n1,n2,n3]:
doubleLink.addDoubleList(n)
print(“从头部打印双向链表”)
doubleLink.printListFromHead()
print(“从尾部打印双向链表”)
doubleLink.printListFromTail()