编写一个函数,实现在链表中给定位置插入,删除的结果链表
时间: 2023-05-11 22:07:05 浏览: 67
非常感谢您的提问。以下是一个简单的链表实现,包括在给定位置插入和删除节点的函数:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def insert(self, data, position):
new_node = Node(data)
if position == 0:
new_node.next = self.head
self.head = new_node
return
current = self.head
for i in range(position - 1):
if current is None:
raise IndexError("Position out of range")
current = current.next
new_node.next = current.next
current.next = new_node
def delete(self, position):
if self.head is None:
raise IndexError("List is empty")
if position == 0:
self.head = self.head.next
return
current = self.head
for i in range(position - 1):
if current.next is None:
raise IndexError("Position out of range")
current = current.next
current.next = current.next.next
def __str__(self):
current = self.head
result = ""
while current is not None:
result += str(current.data) + " -> "
current = current.next
result += "None"
return result
```
使用示例:
```python
# 创建一个链表
llist = LinkedList()
# 插入节点
llist.insert(1, 0)
llist.insert(2, 1)
llist.insert(3, 2)
llist.insert(4, 1)
# 打印链表
print(llist) # 1 -> 4 -> 2 -> 3 -> None
# 删除节点
llist.delete(2)
# 打印链表
print(llist) # 1 -> 4 -> 3 -> None
```
希望这个代码能够帮助到您。