📌  相关文章
📜  用于在链表中插入节点的Python程序(1)

📅  最后修改于: 2023-12-03 15:40:53.627000             🧑  作者: Mango

用于在链表中插入节点的Python程序

这是一个用于在链表中插入节点的Python程序。链表是一种数据结构,通过节点将一组元素链接起来。在链表中插入节点是非常常见的操作,可以通过下面的程序完成。

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

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

    def add(self, data):
        new_node = Node(data)
        if self.head is None:
            self.head = new_node
            return
        last_node = self.head
        while last_node.next:
            last_node = last_node.next
        last_node.next = new_node

    def insert(self, data, position):
        new_node = Node(data)
        if position == 0:
            new_node.next = self.head
            self.head = new_node
            return
        currentNode = self.head
        i = 0
        while i < position - 1 and currentNode.next:
            currentNode = currentNode.next
            i += 1
        if currentNode is None:
            return
        new_node.next = currentNode.next
        currentNode.next = new_node

    def printList(self):
        currentNode = self.head
        while currentNode is not None:
            print(currentNode.data)
            currentNode = currentNode.next

以上代码实现了一个简单的链表。Node类表示链表中的每个节点,包含数据和下一个节点的引用。LinkedList类表示整个链表,包含一个头节点和添加、插入和打印链表的方法。

插入方法的实现是在链表的给定位置插入一个新节点。如果位置为零,则将新节点作为头节点,并使其指向原始头节点。否则在节点列表中遍历,直到达到指定位置的前一个节点。然后将新节点插入当前节点的下一个位置。

使用以下代码将元素添加到链表中:

list = LinkedList()
list.add(1)
list.add(2)
list.add(3)

list.printList()

输出结果:

1
2
3

使用以下代码插入一个新的值3.5在第二个位置:

list.insert(3.5, 2)
list.printList()

输出结果:

1
2
3.5
3

可以看出,节点成功插入链表中。