gpt4 book ai didi

java - 在java中循环语句以获得不同的结果

转载 作者:行者123 更新时间:2023-11-30 02:32:49 25 4
gpt4 key购买 nike

今天我尝试循环打印语句,以便每次输出不同的结果。前提是我有一个二叉搜索树,里面已经填充了随机数0-99。

然后我选择一个随机节点并获取从根到该随机节点的长度。

我需要多次重复上面的句子,但到目前为止我的所有循环都给出了相同的答案或无限循环。

while(i!=10){
System.out.println(bst.Pathlength(root, random_node));
i++;
}

for (int i = 0;i< 10; i++){
System.out.println(bst.Pathlength(root, random_node));
}

while (true) {
int i = 0;
int j = 1000;
if (i != j) {
System.out.println(bst.Pathlength(root, random_node));
i++;
}else if (i == j){
break;
}
}

上面是我一直在尝试的循环的选择(不同时)。 Pastebin link with full program包括完整图片的完整程序。

对此的任何指示都会很棒:)

最佳答案

目前,您在循环的每次迭代中传递相同实例,因此为什么它每次都会打印相同结果,正如您提到的那样,而不是您需要从当前节点开始遍历树中的所有节点,然后向左(如果有),然后向右(如果有)......依此类推。

您可能想要创建一个 inOrder 方法,该方法向下遍历树以打印子树的数据。

对于循环,前两个应该按预期工作,但是,最后一个循环将总是无限循环,因为您将 i 重置为 0 在循环的每次迭代中,这意味着它永远不会到达j 来跳出循环。解决这个问题的方法很简单,就是在循环外声明 ij 变量。

不同类型的Tree Traversals .

关于java - 在java中循环语句以获得不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43833907/

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