python如何准备链表

原创
ithorizon 7个月前 (09-30) 阅读数 43 #Python

Python中的链表准备

在Python中,链表是一种重要的数据结构,它允许我们存储和操作有序的数据集合,链表由一系列节点组成,每个节点包含两个部分:数据值和指向下一个节点的引用,这使得链表在插入、删除和遍历方面非常灵活。

我们需要定义一个链表节点类,这个类应该包含存储数据值的方法和指向下一个节点的引用。

class ListNode:
    def __init__(self, value):
        self.value = value
        self.next = None

我们可以定义一个链表类,它包含插入节点、删除节点和遍历链表的方法。

class LinkedList:
    def __init__(self):
        self.head = None
    def insert(self, value):
        if not self.head:
            self.head = ListNode(value)
        else:
            curr = self.head
            while curr.next:
                curr = curr.next
            curr.next = ListNode(value)
    def delete(self, value):
        if not self.head:
            return
        if self.head.value == value:
            self.head = self.head.next
        else:
            prev = None
            curr = self.head
            while curr and curr.value != value:
                prev = curr
                curr = curr.next
            if not curr:
                return
            prev.next = curr.next
    def traverse(self):
        curr = self.head
        while curr:
            print(curr.value, end=' ')
            curr = curr.next
        print()

这样,我们就可以创建一个链表并对其进行操作了。

ll = LinkedList()
ll.insert(3)
ll.insert(4)
ll.insert(5)
ll.delete(4)
ll.traverse()  # 输出:3 5


热门