python创建一个链表并对链表进行添加、删除、遍历等操作
时间: 2023-07-15 19:10:36 浏览: 107
单链表的插入删除 遍历等操作
好的,下面是一个简单的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("A")
linked_list.append("B")
linked_list.append("C")
# 在链表头部添加节点
linked_list.prepend("D")
# 删除链表中指定值的节点
linked_list.delete("B")
# 遍历链表并打印每个节点的值
linked_list.print_list()
```
输出:
```
D
A
C
```
阅读全文