【发布时间】:2016-08-24 07:36:22
【问题描述】:
我在理解树遍历中的递归执行时遇到问题。
void travel (Node *tree)
{
if(tree!=NULL)
{
printf("%d ",tree->info);
travel(tree->left);
travel(tree->right);
}
}
你能解释一下吗
1
2 3
4 5 6
输出:1 2 4 3 5 6
达到4后会发生什么。编译器如何忽略travel(tree->left)以及它如何回到1并达到3。
我的确切问题是函数调用 travel(tree->left) 是如何被忽略的?
【问题讨论】:
标签: recursion tree tree-traversal