【发布时间】:2018-10-16 01:33:09
【问题描述】:
我目前正在使用 java 学习树 我这里有一些错误 在二叉树中插入项目 我不知道为什么它不起作用
这是代码: 树节点:
public class TNode {
int data;
TNode left;
TNode right;
public TNode(int data) {
this.data = data;
left = null;
right = null;
}
}
树类:
public class Tree {
TNode root;
public Tree(){
root = null;
}
public TNode insertNode(TNode item, int d) {
if (item == null) {
return new TNode(d);
}
if (d < item.data) {
item.left = insertNode(item, d);
}
if (d > item.data) {
item.right = insertNode(item, d);
} else {
return item;
}
return item;
}
public void add(int d) {
insertNode(root, d);
}
}
每当我添加一个项目时,根保持为空,没有右侧或左侧项目 如果有人可以提供帮助,我将非常感激
【问题讨论】:
-
..因为,您永远不会分配 root(与
null不同的东西),请在add方法中执行(可能是最佳设计):if (root == null) { root = insertNode(root, d); } else { insertNode(root, d); }
标签: java search data-structures tree binary