Java 二元搜索树中的元素未显示
在插入所有元素后,我仍然没有看到树……我不明白出了什么问题。没有编译时错误Java 二元搜索树中的元素未显示,java,data-structures,Java,Data Structures,在插入所有元素后,我仍然没有看到树……我不明白出了什么问题。没有编译时错误 public boolean insert(int data) { getNewNode(root, data); return true; } private Node getNewNode(Node pointer, int data) { if(pointer == null) { pointer = new Node();
public boolean insert(int data) {
getNewNode(root, data);
return true;
}
private Node getNewNode(Node pointer, int data) {
if(pointer == null) {
pointer = new Node();
pointer.data = data;
return pointer;
}
else if(data < pointer.data)
pointer.lchild = getNewNode(pointer.lchild, data);
else if(data > pointer.data)
pointer.rchild = getNewNode(pointer.rchild, data);
return pointer;
}
公共布尔插入(int数据){
getNewNode(根,数据);
返回true;
}
私有节点getNewNode(节点指针,int数据){
if(指针==null){
指针=新节点();
pointer.data=数据;
返回指针;
}
else if(数据<指针数据)
pointer.lchild=getNewNode(pointer.lchild,数据);
else if(数据>指针数据)
pointer.rchild=getNewNode(pointer.rchild,数据);
返回指针;
}
如果不存在根节点,则调用getNewNode来构造根节点,但从getNewNode返回新节点后,不要将其分配给根节点。因此,root总是空的。你说的“我没有看到树”是什么意思?你是怎么看的?你的代码有点奇怪。例如,您调用“getNewNode”,但不分配返回值,也不处理它。能否请您发布一个最简单完整的示例,说明您正在尝试做什么?除非它已在其他地方初始化。。。。我们不知道[:-(很好的捕获;如果root已经初始化,那么错误可能在打印代码中。谢谢Avi…我已经设置了新的root=getNewNode…并且它可以工作…tx