Я сделал программу, которая вставляет символы (буквы) в двоичное дерево поиска. Я не сталкиваюсь с какими-либо ошибками, но когда я вызываю метод toString, он печатает только хэш-код BST@568db2f2
. Возможно, я что-то упустил из виду, поэтому буду очень признателен, если вы мне поможете. Спасибо!
Ожидаемый результат (не точный результат, но в этом формате)ht=2 [K=A L=[K=B R=[K=C]] R=[K=D L=[K=E]]]
метод toString
public String toString(BTNode<T> n)
{
String s = "";
if (n == null)
{
return "";
}
if (n!= null)
{
s = "ht=" + height + "[K=" + n.info;
if (n.left!= null)
{
s = s + "L=" + toString(n.left) + "]";
}
if (n.right!= null)
{
s = s + "R=" + toString(n.right) + "]";
}
}
return s;
}
Основной класс
public static void main(String args[])
{
BST<Character> bst = new BST<>(); // instantiate BST object
// insert values to bst
bst.insert('A');
bst.insert('B');
bst.insert('C');
bst.insert('D');
bst.insert('E');
bst.insert('F');
// print bst1
System.out.println(bst.toString());
}
Решение проблемы
Вы должны написать метод с точной подписью public String toString()
в BTNode
.
Писать public String toString(BTNode<N>)
ничего не дает.
Комментариев нет:
Отправить комментарий