Мне нужна помощь с этим кодом. кажется, что он застрял в бесконечном цикле, но не показывает ошибку переполнения стека или ошибку нулевого указателя. bt - это двоичное дерево, а db - это база данных. Мне дали задание создать это несбалансированное дерево путем рекурсивного поиска в массиве (дБ).
public void createSortedBT(){
if(bt.isEmpty()){
bt.setContent(db.getCountry(db.getArray().length-1));
createSortedBT2(db.getArray().length-1, bt);
}
}
private void createSortedBT2(int index, BinaryTree<Country> cNode){
while(index >= 0){
if(db.getCountry(index).isLess(cNode.getContent())){
if(cNode.getLeftTree().isEmpty()){
cNode.getLeftTree().setContent(db.getCountry(index));
}else{
createSortedBT2(index, cNode.getLeftTree());
}
}
if(db.getCountry(index).isGreater(cNode.getContent())){
if(cNode.getRightTree().isEmpty()){
cNode.getRightTree().setContent(db.getCountry(index));
}else{
createSortedBT2(index, cNode.getRightTree());
}
}
index--;
cNode = bt;
}
}