📌  相关文章
📜  数据结构示例-创建并显示一个双向链接(1)

📅  最后修改于: 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

在上述代码中,我们定义了两个类:NodeDoublyLinkedListNode包含一个 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]
总结

在本文中,我们介绍了如何创建和显示一个双向链接。我们定义了两个类:NodeDoublyLinkedList,并实现了添加节点和显示节点的方法。我们还提供了一个示例代码,以便程序员们更好地理解如何创建和显示一个双向链接。