Попытка реализовать метод deleteTree
в C++. Этот метод берет корень дерева как параметр и, следовательно, должен удалять все узлы от корня до листа. Мой код кажется логически правильным, однако я получаю бесконечный цикл каждый раз, когда я его запускаю. Может ли кто-нибудь определить, что не так?Удаление всех узлов в дереве - C++
template <class A, class B> void Tree<A,B>::deleteTree(Node<A,B>* rootNode) {
if (rootNode->left != NULL) {
deleteTree(rootNode->left);
}
if (rootNode->right != NULL) {
deleteTree(rootNode->right);
}
free(root);
}
У вашего дерева есть круг? – thumbmunkeys
Зачем использовать 'free' вместо' delete'? Используете ли вы 'malloc' вместо' new'? Или 'free' - это функция, которую вы написали? –
@ thumbmunkeys, это было бы довольно интересным деревом – Leeor