У меня возникла огромная проблема с моей рекурсивной функцией в моем двоичном дереве поиска. Мой проект должен состояться через несколько часов, и я не могу на всю жизнь ухаживать за инструктором.Оператор присваивания двоичного поиска
Моя функция, кажется, касается только левой ветви моего дерева.
Оператор присваивания:
template<typename Type>
BST<Type>& BST<Type>::operator=(const BST& that)
{
if(this != &that)
{
this->clear();
Node *c = that.root;
preORet(c);
}
return *this;
}
Рекурсивный Function Вызывается:
template<typename Type>
void BST<Type>::preORet(Node *c)
{
this->insert(c->data);
if(c->left != nullptr)
preORet(c->left);
else if(c->right != nullptr)
preORet(c->right);
}
Как и в сторону, я понимаю, что многое из этого может выглядеть серьезно извращается код, но это, как мой инструктор ожидает это посмотреть.
Заранее спасибо.