数据结构中print算法实现链表的遍历
时间: 2024-10-09 16:04:49 浏览: 41
C# 数据结构 doc
在数据结构中,链表的遍历通常通过节点间的引用链接来完成。以单向链表为例,我们可以使用迭代或递归的方式来打印每个节点的内容。以下是两种常见的遍历和打印算法:
**1. 迭代遍历(Iterative Approach)**
```python
# 假设有一个Node类,包含data和next属性
class ListNode:
def __init__(self, data=0):
self.data = data
self.next = None
def print_list(head):
current = head
while current is not None:
print(current.data)
current = current.next
```
在这个例子中,我们从头节点开始,依次访问当前节点、打印其值,然后移动到下一个节点,直到遍历完整个链表。
**2. 递归遍历(Recursive Approach)**
```python
def print_list_recursive(head, current=None):
if current is None:
current = head
print(current.data, end=" ")
if current.next:
print_list_recursive(current.next, current)
# 调用时传入头节点
print_list_recursive(head)
```
递归方式会先检查是否还有下个节点,如果有的话就继续递归,直到链表结束。
阅读全文