Я пытаюсь написать код, который ищет элемент в двоичном дереве, а затем добавляет, начиная с этого элемента. Пока я могу найти правильную позицию и добавить к этой позиции, но я теряю остаток двоичного дерева.
public void add(String addroot, String addleft)
if(root!=nodesearch){
if(root.left!=null){
root=root.left;
add(addroot, addleft);
}
if(root.right!=null){
root=root.right;
add(addroot, addleft);
}
}
else
root=insert();
}
insert () добавляет элементы и работает нормально. Спасибо за любую помощь.
Хорошо, теперь я об этом думаю.
private BinaryStringNode local_root = root
public void add()
if(root!=nodesearch){
if(local_root.left!=null){
local_root=local_root.left;
add();
}
if(local_root.right!=null){
local_root=local_root.right;
add();
}
}
else
local_root=insert();
}
Будет ли local_root = insert () использовать метод вставки для root в позиции local_root. Также будет ли local_root = local_root.right проходить через root?