如何实现单链表L的遍历
时间: 2024-03-25 07:38:57 浏览: 44
单向链表输入 遍历 及插入元素建立有序表
单链表的遍历就是依次访问链表中的每个节点,并对每个节点进行某些操作。可以使用循环或递归的方式来实现单链表的遍历。
以下是使用循环实现单链表遍历的示例代码:
```c
void traverseList(ListNode *L) {
ListNode *p = L;
while (p != NULL) {
// 对节点p进行操作
printf("%d ", p->data);
p = p->next;
}
}
```
这个函数接收一个指向单链表头结点的指针,然后使用一个指针 p 遍历整个链表。在循环中,对每个节点 p 进行某些操作,这里只是简单地打印出节点 p 的数据。最后,当 p 指向 NULL 时,遍历结束。
以下是使用递归实现单链表遍历的示例代码:
```c
void traverseList(ListNode *p) {
if (p == NULL) {
return;
}
// 对节点p进行操作
printf("%d ", p->data);
traverseList(p->next);
}
```
这个函数也接收一个指向单链表头结点的指针,然后使用递归的方式遍历整个链表。在递归函数中,先判断当前节点 p 是否为 NULL,如果是,则直接返回。否则,对当前节点 p 进行某些操作,然后递归调用函数 traverseList(p->next) 遍历下一个节点。
阅读全文