Searchtree add-method无法正常工作

时间:2016-10-20 22:40:48

标签: java list reference

我正在尝试实施,但我的添加方法无效。

也许你有一些提示?我认为问题在于引用,说实话我还没有完全理解它。谢谢!

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);
    }


}

}

1 个答案:

答案 0 :(得分:0)

嗯,你有点混淆Java'指针'工作。如果我没记错的话,如果你用Element x = Element y将对象设置为另一个对象,那么它将指向'像这样:

x -> y -> (data)

而不是你可能想要它:

x -> (data) <- y

尝试将helper.left/right直接设置为新元素。