gpt4 book ai didi

java - 自编程二叉树中方法参数问题

转载 作者:行者123 更新时间:2023-12-02 10:35:46 25 4
gpt4 key购买 nike

我编写了一个二叉树,现在在按顺序打印时遇到问题。当我调用 printIO 方法时,printIO 方法调用另一个方法,该方法需要根节点作为参数(当我递归打印时)该方法每次调用并传递下一个节点.

有没有什么方法可以在没有 2 个方法且 main 中没有参数的情况下打印树?

想法:
使临时节点静态并且不要在最终打印方法中使用参数。这没有用,因为我遇到了一些异常(exception)。有什么想法吗?

代码片段主要:

 BinList bl = new BinList();
bl.add(9);
bl.add(7);
...
bl.printIO();

列表类的代码片段:

public void printIO() {
print_in_order(root);
}

private void print_in_order(Node temp) {
if (temp != null) {
print_in_order(temp.left);
System.out.println(temp.data);
print_in_order(temp.right);
}
}

最佳答案

您应该在 BinList 类和 Node 类之间划分职责,而不是在 BinList 类中进行打印:

public class BinList {
private Node root = ...;

public void printInOrder() {
if (root != null) {
root.printInOrder();
}
}
}

public class Node {
private Node left, right;
private Object data;

public void printInOrder() {
if (left != null) {
left.printInOrder();
}
System.out.printl(data);
if (right != null) {
right.printInOrder();
}
}
}

关于java - 自编程二叉树中方法参数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53308070/

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