1、创建双链表的节点类
class DoubleLinkNode():
def __init__(self,data=None, prior = None, next = None):
self.data = data
self.prior = prior
self.next = next
2、定义一个(辅助)头结点
header = DoubleLinkNode(None)
tail = header
3、创建多个节点的双链表
for data in range(1,4):
new_node = DoubleLinkNode(data)
tail.next = new_node
new_node.prior = tail
tail = tail.next
4、定义双链表效果展示函数
class DoubleLinkList():
def IsEmpty(self,header):
if header.next is None:
return True
def show(self,header):
cur = header
if self.IsEmpty(header):
print('空链表')
return
while cur:
if cur.next is not None:
print(cur.data, end='<-->')
else:
print(cur.data)
cur = cur.next
完整程序
class DoubleLinkNode():
def __init__(self,data=None, prior = None, next = None):
self.data = data
self.prior = prior
self.next = next
class DoubleLinkList():
def IsEmpty(self,header):
if header.next is None:
return True
def show(self,header):
cur = header
if self.IsEmpty(header):
print('空链表')
return
while cur:
if cur.next is not None:
print(cur.data, end='<-->')
else:
print(cur.data)
cur = cur.next
header = DoubleLinkNode(None)
tail = header
for data in range(1,4):
new_node = DoubleLinkNode(data)
tail.next = new_node
new_node.prior = tail
tail = tail.next
DoubleLinkList().show(header.next)