Data structures 谁能解释一下顺序树travesal的逻辑吗?

Data structures 谁能解释一下顺序树travesal的逻辑吗?,data-structures,inorder,Data Structures,Inorder,我得到了下面代码的输出,但没有得到确切的逻辑。 第3行(递归fn调用)将在到达叶节点时传递值Null,那么它如何打印数据部分 void Inorder(struct node *node) { if(node!=NULL) { Inorder(node->left); printf("%d",node->data); Inorder(node->right); } } 基本上,在每次递归调用中,如果节点不为null,则继续。 因此,叶

我得到了下面代码的输出,但没有得到确切的逻辑。 第3行(递归fn调用)将在到达叶节点时传递值
Null
,那么它如何打印数据部分

void Inorder(struct node *node)
{
  if(node!=NULL)
  {
     Inorder(node->left);
     printf("%d",node->data);
     Inorder(node->right);
  }
}

基本上,在每次递归调用中,如果节点不为null,则继续。 因此,叶节点的调用
node->left
将不再继续,并且随着递归函数的展开,节点将打印在下一行中

试运行一个示例并亲自验证