目标效果:
dsp0603.cpp页面;
#include <stdio.h>
#include <stdlib.h>
#define ElemType char //二叉树中数据元素类型
#include "bintree.h" //二叉树的实现
//打印结点数据(作为Visit函数)
Status print(char);
//计算二叉树中叶子结点的个数
int LeafCount(BiTree bt);
//计算二叉树的深度
int Deapth(BiTree bt);
//按缩进方式打印二叉树
void PrintTreeIndent(BiTree bt, int indent);
///
// 主程序
int main()
{
BiTree bt = 0;
//建立二叉树
printf("建立二叉树(按先序输入二叉树中的结点,空格表示空树)\n");
if( CreateBiTree(bt)==ERROR ) {
printf("ERROR: call CreateBiTree\n");
system("pause");
exit(1);
}
PrintTree(bt);
//遍历二叉树
printf("\n先序遍历: ");
if( PreOrderTraverse(bt)==ERROR )
printf("ERROR: call PreOrderTraverse\n");
printf("\n中序遍历: ");
if( InOrderTraverse(bt)==ERROR )
printf("ERROR: call InOrderTraverse\n");
printf("\n后序遍历: ");
if( PostOrderTraverse(bt)==ERROR )
printf("ERROR: call PostOrderTraverse\n");
printf("\n按层遍历: ");
if( LevelOrderTraverse(bt)==ERROR )
printf("ERROR: call LevelOrderTraverse\n");
//二叉树的应用
printf("\n二叉树中叶子结点的个数: %d\n", LeafCount(bt));
printf("\n二叉树的深度: %d\n", Deapth(bt));
prin