GOOGLE ADS

суббота, 30 апреля 2022 г.

Двоичное дерево toString печатает хэш-код даже после переопределения

Я сделал программу, которая вставляет символы (буквы) в двоичное дерево поиска. Я не сталкиваюсь с какими-либо ошибками, но когда я вызываю метод 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>)ничего не дает.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...