【发布时间】:2018-08-01 15:44:37
【问题描述】:
我已经创建了一个向我的二叉搜索树添加新项目的方法,我不知道我有什么问题,但它没有向我的树添加任何内容...我将附加我的 BTNode 类和我的 add 方法.我真的很感激一些帮助/建议。
public class BTNode
{
public int item;
public BTNode left;
public BTNode right;
public BTNode(int i, BTNode l, BTNode r)
{
item = i;
left = l;
right = r;
}
public String toString()
{
return "[" + item + "]";
}
}
//添加方法
public BTNode add (BTNode node, int value)
{
if (node == null)
{
node = new BTNode(value, null, null);
return node;
}
else if (node.item > value)
node.left = add(node.left, value);
else if (node.item < value)
node.right = add(node.right, value);
return node;
}
//测试人员
public static void main(String[] args) {
BinarySearchTree tree = new BinarySearchTree();
BTNode root = new BTNode(70, null, null);
BTNode n2 = new BTNode(20, null, null);
BTNode n3 = new BTNode(10, null, null);
BTNode n4 = new BTNode(27, null, null);
BTNode n5 = new BTNode(150, null, null);
BTNode n6 = new BTNode(115, null, null);
BTNode n7 = new BTNode(300, null, null);
root.left = n2;
root.right = n5;
n2.left = n3;
n2.right = n4;
n5.left = n6;
n5.right = n7;
tree.add(root,32);
}
【问题讨论】:
-
error到底是什么? -
当尝试使用 add 方法时,它不会向我已经创建的树添加任何内容...
-
你怎么知道它不会改变树?没有对树或输出的查询?将有助于包含一些显示错误的代码。
-
@AlexDelgado 抱歉耽搁了。刚刚更新了
fix并做了一些修改。
标签: java recursion binary-search-tree