用c++语言实现对于不带头结点的单链表L,设计一个递归算法逆序输出所有结点值
时间: 2023-05-26 11:02:15 浏览: 113
c++实现 不带头结点单链表基本操作
```c
void reverseOutput(Node* p) {
if(p == NULL) {
return;
}
reverseOutput(p->next); // 递归调用
printf("%d ", p->data); // 输出结点值
}
```
其中,`Node` 是链表中结点的定义,包含两个域: `data` 和 `next`。在这个递归算法中,我们先判断当前结点 `p` 是否为空,如果为空则直接返回。然后调用递归函数,传入 `p->next`,即传入当前结点的下一个结点,继续往下递归。最后在递归完成后输出当前结点的值。需要注意的是,因为链表没有头结点,所以需要在主函数中调用 `reverseOutput` 时传入链表的第一个结点(也就是链表中的起始结点)。
阅读全文