2、已知一个列表list=[23,13,9,8,1,0,46], 先通过头插法构建单链表,然后在索引分别为0、3、5位置分别插入一个元素10,最后删除首结点,用python执行
时间: 2024-09-25 09:17:06 浏览: 30
首先,我们来理解头插法创建单链表的过程。在Python中,我们可以创建一个Node类表示链表节点,并有一个next属性指向下一个节点。以下是头插法的步骤:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
def insert_at_head(head, value):
new_node = Node(value)
new_node.next = head
return new_node
# 初始列表
lst = [23, 13, 9, 8, 1, 0, 46]
# 将列表转换成链表
head = None
for num in lst:
if not head:
head = insert_at_head(head, num)
else:
current = head
while current.next:
current = current.next
current.next = insert_at_head(None, num) # 在列表末尾添加元素
# 插入元素
inserted_elements = [10, 10, 10]
for index, element in enumerate(inserted_elements):
head = insert_at_head(head, element)
if index == 0:
head = insert_at_head(head, inserted_elements[0]) # 在索引0处直接插入
# 删除首节点
if head and head.next:
head = head.next
# 打印更新后的链表
current = head
while current:
print(current.data, end=" -> ")
current = current.next
```
运行上述代码后,你会得到一个包含插入元素并删除首节点的单链表。
阅读全文