【发布时间】:2020-06-18 15:38:44
【问题描述】:
我被要求编写一个递归函数来打印一个单链表。但是我的导师告诉我,你不能在函数中使用静态变量或参数。没有参数和静态变量真的可以递归吗?
void recursivePrint() const;
【问题讨论】:
标签: recursion linked-list parameter-passing
我被要求编写一个递归函数来打印一个单链表。但是我的导师告诉我,你不能在函数中使用静态变量或参数。没有参数和静态变量真的可以递归吗?
void recursivePrint() const;
【问题讨论】:
标签: recursion linked-list parameter-passing
是的,这是可能的。由于recursivePrint() 是一个成员函数,您只需打印头部的值,然后递归打印列表的其余部分:
void recursivePrint() const {
if (!head) {
return;
}
std::cout << head->value << " ";
if (head->next) {
head->next->recursivePrint();
}
}
【讨论】: