Я новичок в структурах данных, и нам поручили сделать игру на угадывание, используя реализацию двоичного дерева. Я выполнил поток программы без реализации файла. Я предварительно сохранил бинарное дерево во внешнем файле, теперь у меня проблема с восстановлением дерева из файла
у меня в файле есть:
Это Ангел Локсин ?: # Нененг Б? Это Сэм Пинто? ## Белая красавица?
Мариан Ривера? ## HotandSexy? Это Кристина Рейес? ###
"#" для узла NULL.
У меня также есть мой код. Я следую алгоритму, который дал мне мой профессор. Я искал в интернете и дал мне тот же алгоритм, что и мой проф. Моя проблема с каждой третьей ненулевой информацией, которая вылетает из программы. Я думаю, что основной причиной сбоя является узел, который не был установлен в нуль после вставки третьих ненулевых данных. Если это так, как я могу установить его в NULL, чтобы моя программа не потерпела крах. Я назначил данные из файла в массив строк и установил «\ 0» в последнем индексе массива.
void read(node *temp)
{
while(array[j]=="#")
j++;
if(array[j]=="\0")
return;
node *nNode;
nNode = new node;
nNode->yes=NULL;
nNode->no=NULL;
nNode->data=array[j];
j++;
temp=nNode;
read(temp->yes);
read(temp->no);
}