# 双向链接的节点定义
class Node(object):
def __init__(self, item):
self.elem = item
self.next = None
self.prev = None
class DoubleLinklist(object):
# 双向链表
def __init__(self, node=None):
self.__head = node
def is_empty(self):
# 判断链表是否是空
return self.__head == None
def length(self):
# 链表长度
cur = self.__head
count = 0
# 只有一个节点也可以
while cur != None:
count += 1
cur = cur.next
return count
def travel(self):
# 遍历整个链表
cur = self.__head
# 对于只要一个节点也可以
while cur != None:
print(cur.elem, end=" ")
cur = cur.next
print("") # 没有元素时输出空
# 添加元素到链表头部(头插法)
def add(self, item):
node = Node(item)
if self.is_empty():
self.__head = node
return
# 新节点的next指针指向原头结点
node.next = self.__head
# 头结点指向新节点
self.__head = node
# 原来头结点的pre指针指向新插入的节点
n
python实现双向链表的基本操作
最新推荐文章于 2023-04-21 15:58:24 发布