Python 双链表实现:头插法详解
以下是使用头插法建立双链表的示例代码:
class Node:
def __init__(self, data):
self.data = data
self.prev = None
self.next = None
class DoublyLinkedList:
def __init__(self):
self.head = None
def insert(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
new_node.next = self.head
self.head.prev = new_node
self.head = new_node
def display(self):
elements = []
current = self.head
while current:
elements.append(current.data)
current = current.next
print('->'.join(map(str, elements)))
# 测试示例
linked_list = DoublyLinkedList()
linked_list.insert(3)
linked_list.insert(2)
linked_list.insert(1)
linked_list.display() # 输出:1->2->3
在这个示例中,'insert()' 方法实现了头插法建立双链表的功能。每次插入一个新节点时,将其设置为头节点,并更新原有头节点的 prev 指针。'display()' 方法用于打印链表中的元素。
您可以根据需要修改和扩展这个示例,例如添加删除节点、查找节点等功能。
原文地址: https://www.cveoy.top/t/topic/Q0M 著作权归作者所有。请勿转载和采集!