Добавление элемента в дерево - PullRequest
1 голос
/ 25 мая 2011

Когда я пытаюсь добавить некоторые элементы в дерево, я использую следующий метод:

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, мой код отстой!

Должен ли я использовать рут и, если да, то как мне его реализовать?

...