gpt4 book ai didi

java - 如何返回到函数中的上一次迭代,以便它重新执行

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:12:33 32 4
gpt4 key购买 nike

我有一个递归函数来显示一棵树(我不允许共享代码,但我真的需要帮助来解决这个问题) 无效显示(节点根)

    1.displays element held by root  
2.ask for a key k
3.looks for child of root (calling it CHILD)that contains key k
4.If key k is 'Z' then return
5.else calls display(CHILD)


A
/ | \
B C D
/ \ / \
E F G H

这个函数要实现以下,如图所示

输出
一个
选择节点查看:A
B C D
选择要查看的节点:B
E F

这个,我能够实现,但我如何返回到显示 B C D 的迭代,以便将 D 作为下一个要查看的节点并让 G H 作为显示?IE。输出
一个
选择节点查看:A
B C D
选择节点查看或输入Z返回上一级:B
E F
选择节点查看或输入Z返回上一级:Z
B C D
选择要查看的节点:D
GH
选择要查看的节点或输入 Z 返回上一级:

最佳答案

就好像我理解你的问题一样,你有一个交互式系统,用户可以在其中控制遍历。对于您的问题,您不应该使用递归函数。你应该更好地使用堆栈

  1. 当用户从显示的节点列表中选择一个节点时,您推送选定的节点。
  2. 当用户选择选项 Z 时,您从堆栈中弹出顶部节点。

编辑:在一个简单的系统中,您也可以使用递归函数。在上面的情况 1 中,您使用选定的节点调用函数,在情况 2 中,您从函数返回。但这只有在您可以处理函数中的用户输入(例如文本 UI)时才有效。

关于java - 如何返回到函数中的上一次迭代,以便它重新执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41820961/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com