以下是使用头插法建立双链表的示例代码:

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()' 方法用于打印链表中的元素。

您可以根据需要修改和扩展这个示例,例如添加删除节点、查找节点等功能。

Python 双链表实现:头插法详解

原文地址: https://www.cveoy.top/t/topic/Q0M 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录