📅  最后修改于: 2023-12-03 15:40:53.627000             🧑  作者: Mango
这是一个用于在链表中插入节点的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
可以看出,节点成功插入链表中。