链接列表递归

时间:2009-11-04 23:14:44

标签: java list recursion linked-list

所以,我正在阅读关于链表和递归的内容。我只是想知道为什么我不能在静态void的方法中使用递归?另外,我在链接列表递归中想知道Java,为什么你可以在打印中使用静态void或搜索节点。谢谢。

2 个答案:

答案 0 :(得分:4)

您可以在静态void的函数中使用递归。它只需返回其价值或通过副作用做它应该做的事情,这通常被认为是有害的。但对于印刷而言,这是完全合理的。

static void printList(node)
{
    if (node != null)
    {
        print(node);
        printList(node.next);
    }
}

答案 1 :(得分:1)

使用递归时可以使用静态方法。您只需传递在函数内部工作所需的所有信息。使用链接列表时,强烈建议使用递归,因为它们的设计方式(每个节点包含对下一个节点的引用以及(有时)它的前一个节点)。