我尝试在 Java 中为二叉树开发一个简单的 insertOperation 我没有成功。
我的包由三个类组成(Tree、Node、Main) 怎么会有逻辑思维错误?我不需要记录不同的代码。在互联网上,有运行的例子。我认为可能正在运行,但事实并非如此。
public class Node {
Node left = null;
Node right = null;
float value = 0;
public Node(float value) {
this.value = value;
left = null;
right = null;
}
}
import java.util.logging.Logger;
public class Tree {
Logger log = Logger.getLogger(Tree.class.getName());
Node root;
public Tree() {
root = null;
}
public void insert(Node node) {
if (node == null) {
throw new NullPointerException("Einzufügendes Objekt ist Null");
}
if (root == null) {
root = node;
log.info("root.value:" + root.value);
} else if (root.value > node.value) {
if (node.left == null) {
root.left = node;
log.info("node.left.value: " + root.left.value);
}
else {
log.info("insert(root.left): " + root.left.value);
insert(root.left);
}
} else {
if (node.right == null) {
root.right = node;
log.info("node.right.value: " + root.right.value);
}
else {
log.info("insert(node.right): " + root.right.value);
insert(root.right);
}
}
}
}
预期结果是,当我执行此操作时,使用来自互联网的其他运行方法执行了我的 insertOperation:
Juli 27, 2019 6:13:31 NACHM. Main main
INFORMATION: Rot:----------------------------
Juli 27, 2019 6:13:31 NACHM. Main main
INFORMATION: tree.root.value1.0
Juli 27, 2019 6:13:31 NACHM. Main main
INFORMATION: Linker Teilbaum:--------------------------
Juli 27, 2019 6:13:31 NACHM. Main main
INFORMATION: tree.root.left.value)-7.0
Juli 27, 2019 6:13:31 NACHM. Main main
INFORMATION: tree.root.left.left.value)-8.0
Juli 27, 2019 6:13:31 NACHM. Main main
INFORMATION: root.left.right.value-7.0
这是应该创建的树
1
/ \
-7 2
/ \ / \ -8 -7 1 3 \ \ -4 10
拉风的咖菲猫
相关分类