У моего BST есть только один узел. Я написал код для удаления этого узла, но он все еще там. Так же, как это не было ... обновлено. Вот мой простой код, просто чтобы проверить случайУдалить единственный узел из BST
void Delete(BSTree* tree, int& key)
{
if (key == tree->key)
tree=NULL;
}
И мой класс BSTree не имеет parrent части. Просто значение и левый и правый указатель. Что не так с моим кодом? Спасибо!
Большое вам спасибо! Это работает :) –
И еще одна вещь, у меня есть код для отображения дерева, и если это NULL, я буду cout << NULL; но это просто как ... пустое дерево, а не NULL? –
Это зависит от того, что означает 'NULL' для вашего дерева. В вашей функции отображения вы, скорее всего, остановитесь на 'NULL', прежде чем показывать ее (вы, очевидно, останавливаетесь, прежде чем пытаться ее обработать, иначе она сработает). – pickypg