Как заставить этот метод вставки бинарного дерева поиска - PullRequest
0 голосов
/ 08 июня 2019

Я реализую различные методы в бинарном дереве поиска, и застрял в методе вставки, так как кажется, что он просто не работает.

Я уже некоторое время пытаюсь реализовать метод вставки, нокажется, ничего не работает, он всегда возвращает ноль.Этот метод берет пользователя и добавляет его в базу данных.Использование класса User.

    public boolean beFriend(User friend) throws IllegalArgumentException {
    User node = friend;
    if (friend == null) {
        throw new IllegalArgumentException();

    }
    if(root == friend) {
        return false;
    } else if(root.getKey() < friend.getKey()) {
        if(root.getLeft() != null) {
            root.setLeft(friend);
            return true;
        } else {
            root.setLeft(node);
            return true;
        }
    } else { if(root.getRight() != null) {
            root.setRight(friend);
        } else {
            root.setRight(node);
            return true;
        }
    }
    return false;
    }

Я ожидаю, что друг пользователя будет добавлен в базу данных и выведет ее детали, но вывод, который я получаю в настоящее время, равен нулю.

1 Ответ

0 голосов
/ 08 июня 2019

Вы не определяете «корень» в своем методе, поэтому он всегда равен нулю.Вы должны определить «root» для сравнения с другом и получения от него любых данных.

...