我正在考虑使用一堆二进制节点指针来创建非递归析构函数。这段代码会运行吗?非递归析构函数二叉搜索树使用堆栈
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中找到使用二叉搜索树遍历的堆栈实现。
什么问题?如果你只是想知道它是否有效,编译并测试它。 – 2013-04-27 08:40:46