Итак, для класса I было поручено создать AVLTree, который может добавлять/удалять узлы и печатать все узлы особым образом. Я сделал это. Eveyrthing отлично работает на моем локальном компьютере. Однако, когда я загружаю код на сервер онлайн-отправки и проверяю его с помощью ввода командной строки; одна из моих функций перестает работать, и я надеялся, что кто-то сможет объяснить, почему.Удаление узла AVLTree
Вот мой основной метод на моем компьютере:
AVLTree avl = new AVLTree();
avl.insert(5, "earl");
avl.insert(3, "colin");
avl.insert(6, "fiona");
avl.show();
avl.insert(2, "bonnie");
avl.insert(4, "danielle");
avl.show();
avl.insert(1, "alex");
avl.show();
avl.delete("bonnie");
avl.delete("alex");
avl.show();
Вот второй основной метод, который я использую для ввода командной строки
public static void main(String[] args) throws FileNotFoundException{
Scanner input = new Scanner(new File(args[0]));
String name = new String();
int key = 0;
AVLTree avl = new AVLTree();
while (input.hasNext()) {
String opt = input.next().toUpperCase();
switch(opt)
{
case "INSERT":
name = input.next();
key = input.nextInt();
avl.insert(key, name);
break;
case "REMOVE":
name = input.next();
System.out.println("***" + avl.search(name));//this is where the problem is. On the server it returns null, on my computer it returns the correct node
avl.delete(name);
break;
case "SHOW":
avl.show();
break;
}
}
}
}
Основной отличается от двух, потому что Я не использую командную строку на своем компьютере, поэтому я скопировал входной файл на компьютере и вручную ввел все.
Здесь входной файл
insert Earl 5
insert Colin 3
insert Fiona 6
show
insert Bonnie 2
insert Danielle 4
show
insert Alex 1
show
remove Bonnie
remove Alex
show
Наконец вот функции, необходимые для удаления узла.
Проблема заключается в том, что функция поиска не может найти узел на серверной версии, и я не могу понять, почему.
Кроме того, здесь есть выход
Local Version
earl 5
colin 3
fiona 6
earl 5
colin 3
bonnie 2
danielle 4
fiona 6
colin 3
bonnie 2
alex 1
earl 5
danielle 4
fiona 6
***bonnie 2//the println statement for search
earl 5
colin 3
Server Version
Earl 5
Colin 3
Fiona 6
Earl 5
Colin 3
Bonnie 2
Danielle 4
Fiona 6
Colin 3
Bonnie 2
Alex 1
Earl 5
Danielle 4
Fiona 6
***null//search println
***null//search println
Colin 3
Bonnie 2
Alex 1
Earl 5
Danielle 4
Fiona 6
danielle 4
fiona 6