【发布时间】:2015-04-13 12:20:03
【问题描述】:
这是我的代码,替换是正确的(将目标节点替换为左子树中最大的节点),但是替换后,左右子树都没有了。
这是我的代码:
else if (temp->left != NULL && temp->right != NULL)
{
minLeaf = temp->left;
minLeafMa = temp->left;
parentRight = parent->right;
while (minLeaf->right != NULL)
{
minLeafMa = minLeaf;
minLeaf = minLeaf->right;
}
if (parent->left == temp)
{
parent->left = minLeaf;
minLeafMa->right = NULL;
}
else if (parent->right == temp)
{
parent->right = minLeaf;
minLeafMa->right = NULL;
}
}
【问题讨论】:
-
你还没有问过问题。你只说明了你拥有什么以及它做了什么!
-
谢谢!问题是,为什么删除后左右子树都消失了,只是替换发生了。