📅  最后修改于: 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 指向新节点。最后更新头结点为新节点。
在本文中,我们介绍了双向链表的特点,并展示了如何在其开头插入新节点。这种操作在双向链表中非常常见,我们在编写实际应用程序时应经常用到。