怎么显示二叉树是一个问题,因为二叉树的形状是多样的,多变的,对于任意的二叉树, 直观的呈现给大家看, 写一个通用的二叉树打印方法是非常重要的,尤其对于初学者而言。
凹式打印二叉树是把二叉树逆时针旋转90,按照二叉树的凹入表示法显示二叉树,是可以比较清晰显示二叉树的结构。
凹式法展示一棵二叉树,比较清晰展示二叉树的步骤如下:
1)递归打印右子树;
2)根结点
3)递归左子树,
这是一种特殊的中序遍历方法。
void PrintBiTree(BiTreeNode *bt, int n) //n 用于控制空格数量
{
int i;
if (bt == NULL) return;
PrintBiTree(bt->rightChild, n + 1); //先打印右子树
for (i = 0; i < n - 1; i++) printf(" ");
if (n > 0)
{
printf("---");
printf("%c\n", bt->data); //打印根结点
}
PrintBiTree(bt->leftChild, n + 1);//后打印左子树
}