Я не понимаю, как это не работает:
Node* BST::Minimum(Node *curr) {
if (curr->left != NULL) {
Minimum(curr->left);
}
return curr;
}
Я имею в виду, что я уже вставил штрафа, и printpostorder, inorderr, preorder штрафа.
Я делаю что-то глупое?
Это просто печатает корневой узел.
Ты звонишь Minimum
и выбросить его возвращаемое значение. Ты хочешь return Minimum(curr->left);
,
Кстати, я настоятельно рекомендую делать это итеративно, а не рекурсивно, например так:
Node* node = curr;
while (node->left != NULL)
node = node->left;
return node;
Других решений пока нет …