📅  最后修改于: 2023-12-03 14:54:57.276000             🧑  作者: Mango
在计算机科学中,双向链接又称为双向链表,它是一种常用的数据结构。双向链接包括前向指针和后向指针,这让遍历操作可以双向进行。在本篇文章中,我们将会介绍如何创建一个双向链接并显示它。
我们可以使用以下 Python 代码片段来创建一个双向链接:
class Node:
def __init__(self, data):
self.data = data
self.next = None
self.prev = 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:
curr_node = self.head
while curr_node.next is not None:
curr_node = curr_node.next
curr_node.next = new_node
new_node.prev = curr_node
在上述代码中,我们定义了两个类:Node
和DoublyLinkedList
。Node
包含一个 data
成员变量以及前向 prev
和后向 next
两个成员变量,其用于指向前一个和后一个节点。DoublyLinkedList
是一个包含一个 head
成员变量的类,它用于追踪链表的起始点(即头节点)。
我们的代码定义了一个 append
方法,它将一个新的节点添加到链表的末尾。通过遍历节点(使用 curr_node
变量)、找到最后一个节点并将其后一节点设置为新的节点,然后将新节点的前一节点设置为最后一个节点实现此操作。
下面,我们将使用 print
语句和循环语句将我们的双向链接显示出来。
def display(self):
elements = []
curr_node = self.head
while curr_node is not None:
elements.append(curr_node.data)
curr_node = curr_node.next
print(elements)
在上面这个例子中,我们定义了 display
方法,其用于将链表中的节点输出到屏幕。我们遍历链表、将节点的 data
成员变量添加到一个新的列表中、然后使用 print
将其打印到屏幕上。
现在,在我们创建的双向链接中插入一些数据,然后调用 display
方法,看看双向链接是否被正确地创建和显示。
# 创建一个新的双向链表
doubly_linked_list = DoublyLinkedList()
# 添加一些数据
doubly_linked_list.append(1)
doubly_linked_list.append(2)
doubly_linked_list.append(3)
# 显示我们的数据
doubly_linked_list.display()
输出示例:
[1, 2, 3]
在本文中,我们介绍了如何创建和显示一个双向链接。我们定义了两个类:Node
和 DoublyLinkedList
,并实现了添加节点和显示节点的方法。我们还提供了一个示例代码,以便程序员们更好地理解如何创建和显示一个双向链接。