数据结构遍历输出带头结点的单链表L中各结点数据域的值
时间: 2024-11-15 11:20:58 浏览: 15
带头结点单链表.zip
遍历输出带头结点的单链表L中各结点的数据域通常有两种方式:递归遍历和迭代遍历。
1. **迭代遍历**:
```c
void printLinkedList(ListNode* head) {
ListNode* current = head;
while (current != NULL) {
printf("%d ", current->data); // 输出当前节点的数据
current = current->next; // 移动到下一个节点
}
}
```
这段代码从头结点开始,依次访问每个节点,并打印其数据域的值,直到链表结束。
2. **递归遍历**(假设链表非空):
```c
void printListRecursively(ListNode* head) {
if (head == NULL) {
return; // 当链表空时,直接返回
}
printf("%d ", head->data);
printListRecursively(head->next); // 递归地处理下一个节点
}
```
使用递归的方式,先输出当前节点,然后对剩余的链表继续递归调用自身。
在实际操作前,别忘了检查链表是否为空,防止因试图访问空指针导致程序出错。
阅读全文