以下是一个遍历自定义双向链表的示例代码:
class Node:
def __init__(self, data):
self.data = data
self.prev = None
self.next = None
class DoublyLinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
new_node.prev = current
def traverse(self):
current = self.head
while current:
print(current.data)
current = current.next
# 创建一个双向链表对象
doubly_linked_list = DoublyLinkedList()
# 向链表中添加节点
doubly_linked_list.append(1)
doubly_linked_list.append(2)
doubly_linked_list.append(3)
# 遍历链表
doubly_linked_list.traverse()
此代码示例定义了一个Node
类,表示链表中的节点,以及一个DoublyLinkedList
类,表示双向链表。DoublyLinkedList
类包含append
方法,用于向链表末尾添加节点,以及traverse
方法,用于遍历链表并打印每个节点的值。
在示例中,创建一个DoublyLinkedList
对象并添加了三个节点(1、2、3),然后调用traverse
方法遍历链表并打印每个节点的值。输出结果为:
1
2
3
你可以根据自己的需求修改节点值和节点添加的顺序。