AVL помощь по дереву

Я ищу небольшую помощь с моим деревом AVL, над этим я работаю как школьный проект. Я совершенно заблудился от того, что я делаю неправильно.

У меня есть моя функция вставки, которая вставляет рекурсивно, и узлы не соединяются вместе. Я знаю, что это незначительно, но я чувствую, что я проверил большинство направлений

Моя функция вставки выглядит следующим образом

 void Tree::Insert(int & entry, Node * nextEntry)
{
//Temp node declared for use in the function
Node * temp = nullptr;
//Check if the value is equal
if (nextEntry != nullptr && nextEntry->value == entry)
{
if (entry == nextEntry->value)
{
cout << "\n\t DUPLICATE DATA FOUND\n";

}
}//Going to the left side
if (nextEntry != nullptr && entry < nextEntry->value )
{
temp = nextEntry->leftChild;
nextEntry->balanceFactor++;
Insert(entry, temp);

}
//Check to make sure that the root isnt empty//Going to the right side
if (nextEntry != nullptr && entry > nextEntry->value )
{
temp = nextEntry->rightChild;
nextEntry->balanceFactor--;

Insert(entry, temp);
}
if (nextEntry == nullptr)
{
nextEntry = new Node(entry);

}
if (nextEntry->balanceFactor >= balanceExceededLeft || nextEntry->balanceFactor <= balanceExceededRight)
{
BalanceTree(nextEntry);
}

}

Любая помощь будет принята с благодарностью, спасибо за ваше время

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]