代码实现:创建一个单链表并实现插入删除操作
时间: 2024-03-23 09:02:55 浏览: 66
以下是Python实现单链表的代码,包括插入和删除操作:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
# 在链表尾部插入新的节点
def append(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 prepend(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
# 删除指定数据的节点
def delete(self, data):
if self.head is None:
return
if self.head.data == data:
self.head = self.head.next
return
current_node = self.head
while current_node.next:
if current_node.next.data == data:
current_node.next = current_node.next.next
return
current_node = current_node.next
# 打印链表
def print_list(self):
current_node = self.head
while current_node:
print(current_node.data)
current_node = current_node.next
```
示例:
```python
linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.print_list() # 输出 1 2 3
linked_list.delete(2)
linked_list.print_list() # 输出 1 3
```
在上面的示例中,我们首先创建了一个空的链表,然后使用 append 方法插入了三个节点,最后使用 print_list 方法打印出了链表中的元素。接着,我们使用 delete 方法删除了值为2的节点,最后再次使用 print_list 方法打印出了链表中的元素,此时2已经被删除了。
阅读全文