将元素添加到树中

时间:2011-05-25 14:53:21

标签: java tree root

当我尝试向树中添加一些元素时,我使用以下方法:

void add(City added, City parent){
    //parentNode is where the element should be added
    TreeNode<City> parentNode = search(parent,this);
    if (!parentNode.hasLeftChild()){
        parentNode.setLeftChild(new TreeNode<City>(added,null,null));
    } else {
        TreeNode<City> next = parentNode.getLeftChild();
        while(next.hasNextSibling()){
            next = next.getNextSibling();
        }
        next.setNextSibling(new TreeNode<City>(added,null,null));
    }
}

然而,问题在于,当我用“this”调用方法时,我猜主树不会改变。例如,当树由一个元素组成时,我能够正确添加任何我想要的元素。但是,假设我的树由整数1组成,忘记其他的东西。当我向我的树添加2时,没问题。但是当我想将3添加为2的孩子时,我的代码很糟糕!

我应该使用root,如果是,我该如何实现呢?

0 个答案:

没有答案