用python写在链表指定位置插入元素
时间: 2023-05-29 20:06:28 浏览: 159
下面是Python代码,用于在链表中指定位置插入元素:
```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):
if position < 0:
print("Invalid position")
return
new_node = Node(data)
if position == 0:
new_node.next = self.head
self.head = new_node
return
current = self.head
current_position = 0
while current_position < position - 1:
current = current.next
current_position += 1
if current is None:
break
if current is None:
print("Invalid position")
return
new_node.next = current.next
current.next = new_node
def display(self):
current = self.head
while current:
print(current.data, end=" ")
current = current.next
print()
# Create a linked list
linked_list = LinkedList()
# Insert elements
linked_list.insert(1, 0)
linked_list.insert(2, 0)
linked_list.insert(3, 1)
# Display the linked list
linked_list.display()
```
在上面的代码中,我们首先定义了`Node`类和`LinkedList`类。`Node`类表示链表中的节点,它包含一个数据项和一个指向下一个节点的指针。`LinkedList`类表示链表本身,它包含一个指向链表头部的指针。
我们定义了一个`insert()`方法,它接受两个参数:要插入的数据和要插入的位置。如果要插入的位置小于0,则打印一条错误消息并返回。否则,我们创建一个新的节点,并检查要插入的位置是否为0。如果是,则将新节点插入到链表头部。否则,我们遍历链表,找到要插入的位置(如果它是有效的)。一旦找到位置,我们将新节点插入到链表中。
最后,我们定义了一个`display()`方法,它遍历链表并打印每个节点的数据项。我们创建一个新的链表对象,并插入一些元素。然后,我们调用`display()`方法以显示链表中的元素。
阅读全文