我正在尝试实施,但我的添加方法无效。
也许你有一些提示?我认为问题在于引用,说实话我还没有完全理解它。谢谢!
public class Tree { 元素根; 元素帮助; //对我来说就像一个迭代器
public void add(int v){
boolean wahr = true;
Element helper = new Element(0);
if(root == null){
root = new Element(v);
help = root; // help is for the first "root" and later for geteverything
}
else {
helper = help; //help is the first "root";
while(wahr){
if(v > helper.value){
helper = helper.right;
if(helper == null){
helper = new Element(v);
wahr= false;
}
}
else {
helper = helper.left;
if(helper == null){
helper= new Element(v);
wahr =false;
}
}
}
}
}
public void geteverything(Element omg ) {
System.out.println(omg.left.value);
if(omg != null){
System.out.print("mal gucken wie oft");
System.out.println(omg.left.value);
geteverything(help.left);
System.out.print(" ");
System.out.print(omg.right.value);
geteverything(omg.right);
}
}
}
答案 0 :(得分:0)
嗯,你有点混淆Java'指针'工作。如果我没记错的话,如果你用Element x = Element y
将对象设置为另一个对象,那么它将指向'像这样:
x -> y -> (data)
而不是你可能想要它:
x -> (data) <- y
尝试将helper.left/right
直接设置为新元素。