利用栈的后进先出特性,注意先入栈右节点,再入栈左节点。
void main(Tree* root)
{
Stack<Tree*> nodeStack;
nodeStack.push(root);
while(!nodeStack.empty())
{
root=nodeStack.top();
printf(format, root->data);
nodeStack.pop();
if(root->rChild)
{
nodeStack.push(root->rChild);
}
if(root->lChild)
{
nodeStack.push(root->lChild);
}
}
}
浙公网安备 33010602011771号