Эй, ребята,
Я реализовал дерево. Для меня это должно работать должным образом, но, поскольку я здесь, это не так. Для справки, мое дерево имеет тип City, в котором есть три поля, одно из которых name, как вы увидите. Посмотрите на мои коды:
void add(City added, City parent){
//added is what is going to be added and child of parent. I first find parent in tree
//search method is coming after
TreeNode<City> parentNode = search(parent,this);
if (parentNode.hasLeftChild() && parentNode.getLeftChild().getCity().equals(parent))
parentNode = parentNode.getLeftChild();
else if (parentNode.hasNextSibling() && parentNode.getNextSibling().getCity().equals(parent))
parentNode = parentNode.getNextSibling();
else 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));
}
}
public TreeNode<City> search(City parent, TreeNode<City> t){
if (t.getCity().equals(parent))
return t;
else if (t.hasLeftChild())
return search(parent,t.getLeftChild());
else
return search(parent,t.getNextSibling());
}
Я продолжаю принимать нулевое исключение и понятия не имею, что делать. Любой имеет лучшую идею для поиска элемента и добавления его. Или хотя бы веб-сайт для меня, чтобы узнать это дерьмо ???