二叉树中序遍历的步骤:
- 按顺序遍历左子树
- 访问根节点
- 按顺序遍历右子树
算法
第1步:重复第2步到第4步,同时TREE!= NULL
第2步:INORDER(TREE -> LEFT)
第3步:写入 TREE -> DATA
第4步:INORDER(TREE -> RIGHT)
[循环结束]
第5步:结束
C语言实现函数
void in_order(struct treenode *tree)
{
if(tree != NULL)
{
in_order(tree->left);
printf("%d",tree->root);
in_order(tree->right);
}
}
示例
使用按中序遍历方式遍历以下二叉树。
- 打印左子树的最左边节点,即
23
。 - 打印左子树的根,即
211
。 - 打印右子节点,即
89
。 - 打印树的根节点,即
18
。 - 然后,移动到二叉树的右子树并打印最左边的节点,即
10
。 - 打印右子树的根,即
20
。 - 打印右的子树,即
32
。 - 最后,打印顺序为:
23
,211
,89
,18
,10
,20
,32
。