📌  相关文章
📜  数据结构示例-双向链表的开头插入新节点(1)

📅  最后修改于: 2023-12-03 15:10:20.660000             🧑  作者: Mango

双向链表的开头插入新节点

双向链表是一种常见的数据结构,在计算机科学中被广泛使用。本文将介绍如何在双向链表的开头插入新节点。

双向链表介绍

双向链表是一种有序的数据集合,其中每个节点都包含一个数据元素和两个指针,分别指向前一个和后一个节点。因此,双向链表比单向链表更加灵活,可以双向遍历。

开头插入新节点的方法

双向链表的开头插入新节点是一种常见的操作,该操作会将新节点插入到链表的头部,使其成为新的头结点。

下面是一段python代码示例,可以实现在双向链表的开头插入新节点的功能。

class Node:
    def __init__(self, data=None):
        self.data = data
        self.prev = None
        self.next = None

class DoublyLinkedList:
    def __init__(self):
        self.head = None

    def add_node_at_start(self, data):
        new_node = Node(data)
        new_node.next = self.head
        if self.head is not None:
            self.head.prev = new_node
        self.head = new_node

在上面的代码中,我们定义了一个 Node 类来表示链表中的节点,每个节点有一个数据属性和两个指针属性。然后我们定义了一个 DoublyLinkedList 类来表示双向链表,其中包含一个头指针 head。

add_node_at_start 方法可以在双向链表的开头插入新节点。首先创建一个新节点 new_node,然后将其 next 指向当前的头结点 self.head。如果当前头结点不为空,则将其 prev 指向新节点。最后更新头结点为新节点。

总结

在本文中,我们介绍了双向链表的特点,并展示了如何在其开头插入新节点。这种操作在双向链表中非常常见,我们在编写实际应用程序时应经常用到。