Моя функция вставки компилируется отлично, но если я попытаюсь добавить 4-й узел, она просто заменяет один из первых дочерних узлов вместо добавления нового к этим дочерним узлам.Функция вставки двоичного дерева поиска
bool bst::insert(string StudentName, int IDNumber) {
class node *temp = root;
class node *n=new node (StudentName, IDNumber);
if (root==NULL) {
root = n;
return true;
}
if (temp -> ID == n->ID)
return false;
while (temp) {
if (n-> ID < temp-> ID)
{ temp -> left = n;
temp -> left -> parent= temp;
temp = temp -> left;
return true;
}
else
{
temp->right=n;
temp -> right ->parent=temp;
temp = temp -> right;
return true;
}
}
return false;
}
я действительно ценю это человек ... я просто не мог фигура что одна строка temp -> left -> parent = temp i продолжала писать разные вещи, но так и не получила права. спасибо приятелю! – EgyptianFury