所以,我在读关于链表和递归的书。我只是想知道为什么不能在静态void方法中使用递归?另外,我想知道在java中链表递归,为什么可以在打印或搜索节点时使用静态void。谢谢您。
wgx48brx1#
使用递归时可以使用静态方法。您只需传入函数内部工作所需的所有信息。由于链表的设计方式(每个节点包含对下一个节点的引用,有时还包含对上一个节点的引用),因此强烈鼓励使用递归。
vi4fp9gy2#
可以在静态void函数中使用递归。它只需要通过副作用来恢复它的价值或者做它应该做的事情,而副作用通常被认为是有害的。但对于印刷业来说,这是非常有意义的。
static void printList(node) { if (node != null) { print(node); printList(node.next); } }
2条答案
按热度按时间wgx48brx1#
使用递归时可以使用静态方法。您只需传入函数内部工作所需的所有信息。由于链表的设计方式(每个节点包含对下一个节点的引用,有时还包含对上一个节点的引用),因此强烈鼓励使用递归。
vi4fp9gy2#
可以在静态void函数中使用递归。它只需要通过副作用来恢复它的价值或者做它应该做的事情,而副作用通常被认为是有害的。但对于印刷业来说,这是非常有意义的。