链表的遍历与删除python
时间: 2024-10-25 07:03:49 浏览: 10
链表的遍历与删除操作在Python中通常是通过节点结构来完成的。链表是一种动态数据结构,每个节点包含数据和指向下一个节点的引用。
**遍历链表**:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
def traverse_linked_list(head):
current_node = head
while current_node is not None:
print(current_node.data)
current_node = current_node.next
```
在这个例子中,`traverse_linked_list`函数从头节点开始,逐个访问并打印每个节点的数据,直到遇到`None`表示链表结束。
**删除链表元素**:
删除节点通常会考虑两种情况:
1. 删除指定值的节点:需要同时跟踪当前节点和前一个节点。
```python
def delete_node(head, value):
if head is None or head.data == value:
return head
current = head
previous = None
while current is not None and current.data != value:
previous = current
current = current.next
if current is not None:
previous.next = current.next
else:
print(f"{value} not found in the list.")
return head
```
2. 删除整个链表:如果链表只有一项,直接设置`head`为`None`即可。
阅读全文