python实现链表插入
时间: 2024-09-29 20:03:09 浏览: 36
使用python实现链表操作
在Python中,可以使用内置的`list`数据结构来模拟链表(因为Python的列表实际上是动态数组)。然而,如果你想要实现一个传统的单向链表,你可以创建一个节点类(Node),并维护两个属性:一个存储数据(data),另一个存储指向下一个节点的引用(next)。以下是链表插入的基本操作:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
def insert_at_beginning(head, new_data):
new_node = Node(new_data)
new_node.next = head
return new_node
def insert_at_end(head, new_data):
if not head:
return Node(new_data)
current = head
while current.next:
current = current.next
current.next = Node(new_data)
def insert_after_node(head, prev_node_data, new_data):
if not head or prev_node_data is None:
return None
for node in head:
if node.data == prev_node_data:
new_node = Node(new_data)
new_node.next = node.next
node.next = new_node
break
else:
print(f"No node with data {prev_node_data} found.")
# 示例:
head = Node(1)
head.next = Node(2)
head.next.next = Node(3)
# 插入新元素到开始、结束和某个节点之后
insert_at_beginning(head, 0) # 新链表: 0 -> 1 -> 2 -> 3
insert_at_end(head, 4) # 新链表: 1 -> 2 -> 3 -> 4
insert_after_node(head, 2, 5) # 新链表: 1 -> 2 -> 5 -> 3 -> 4
```
阅读全文