Это моя функция-преемник:
int
BalancedTree::successor( TreeNode *node ) // successor is the left-most child of its right subtree,
{
TreeNode *tmp = node;
int successorVal = -1;
tmp = tmp->m_RChild;
if( NULL != tmp )
{
while( NULL != tmp->m_LChild )
tmp = tmp->m_LChild;
// now at left most child of right subtree
successorVal = tmp->m_nodeData;
}
return successorVal;
} // successor()
Мой инструктор дал нам файл, заполненный случайными данными.Я помещаю все эти данные в дерево, метод вставки работает, но как только метод удаления запускается, функция-преемник в какой-то момент возвращает то же значение узла, для которого я ищу преемника.Это не должно произойти правильно?моя функция преемника правильна?Если вы хотите увидеть метод удаления, просто упомяните об этом.