我正在考虑使用一堆二进制节点指针制作一个非递归析构函数。这段代码会运行吗?
binaryNode* parent = root;
while (!empty())
{
if (parent->left)
{
stack1.push(parent)
parent = parent->left;
}
else if (parent->right)
{
stack1.push(parent)
parent = parent->right;
} else
{
delete parent;
parent = stack1.pop();
}
}
我还没有完成基本程序,所以上面的代码没有经过测试。我觉得应该没什么问题。虽然它没有经过测试运行,但我跟踪了一个二叉搜索树,它运行得很好。另外,我在 stackoverflow 中找不到具有二叉搜索树遍历的堆栈实现。