”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 Python 中实现单向链表

如何在 Python 中实现单向链表

发布于2024-11-02
浏览:607

How to Implement Singly Linked List in Python

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

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

    def add_front(self,value):
        new_node = Node(value)
        new_node.next = self.head
        self.head = new_node
    def add_back(self,value):
        new_node = Node(value)
        if self.head is None:
            self.head = new_node
        else:
            current = self.head
            while current.next is not None:
                current = current.next
            current.next = new_node
    def print_list(self):
        current = self.head
        while current is not None:
            print(current.value)
            current = current.next

list1 = LinkedList()

list1.add_front(1)
list1.add_front(2)
list1.add_back(3)
list1.print_list()

1。节点类:

  • 表示链表中的单个元素。
  • 每个节点有两个属性:value存储数据,next指向列表中的下一个节点。
  • 当一个节点被创建时,它的next指针被设置为None。

2.链表类:

  • 管理链表操作。
  • 有一个属性头,它是链表的起点。最初,由于列表为空,所以 head 设置为 None。

3. add_front方法:

  • 将新节点添加到链表的前面。
  • 使用给定值创建一个新节点。
  • 新节点的下一个指针设置为链表的当前头。
  • 然后将列表的头部更新为新节点。

4。 add_back方法:

  • 将新节点添加到链表末尾。
  • 使用给定值创建一个新节点。
  • 如果链表为空(即head为None),则将新节点设置为head。
  • 如果链表不为空,则遍历到链表末尾,然后更新最后一个节点的next指针指向新节点。

5。 print_list 方法:

  • 打印链表中从头到尾的所有值。
  • 从头部开始,使用next指针迭代每个节点,直到到达末尾(None),打印每个节点的值。

6。用法示例:

  • 创建了 LinkedList 的实例。
  • add_front 被调用两次,将值为 1 和 2 的节点添加到列表的前面。
  • add_back 被调用以将值为 3 的节点添加到列表末尾。
  • print_list 被调用,打印链表中所有节点的值。输出为2,1,3,说明节点添加正确。
版本声明 本文转载于:https://dev.to/thirumalesh/how-to-implement-singly-linked-list-in-python-40kc?1如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3