当我尝试向树中添加一些元素时,我使用以下方法:
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,如果是,我该如何实现呢?