C++: программа для удаления узла и возврата его правого дочернего элемента:C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C++: программа для удаления узла и возврата его правого дочернего элемента:

Сообщение Anonymous »

Я пытался решить вопрос об удалении узла в BST и увидел странный результат. В случае, когда у узла есть только правый дочерний элемент, я пытался удалить этот узел и вернуть его правого дочернего элемента. Каким-то образом оба приведенных ниже кода дали правильный результат, хотя мне кажется, что только код 1 должен работать, поскольку мы пытаемся получить доступ к удаленному узлу.
Может кто-нибудь сказать мне, почему это происходит?
cpp
Код 1:
Node* temp = root->right;
delete root;
return temp;

Код 2:
Node* temp = root;
delete temp;
return root->right;


Подробнее здесь: https://stackoverflow.com/questions/782 ... ight-child
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»