二叉树的基本操作
1.先序遍历输入二叉树的值
2.三种遍历方式
3.统计叶子数
4.统计结点数
5.计算深度
6.交换左右子树
#include<stdio.h>
#include<stdlib.h>
#define ERROR 0
#define OK 1
#define TElemType char
typedef struct BiTNode{
TElemType data;
struct BiTNode *Lchild,*Rchild;
}BiTNode,*BiTree;
//显示根结点
void Visit(BiTree BT){
printf("%c",BT->data);
}
//先序遍历
void PreOrder(BiTree BT){
if(BT){
Visit(BT);
PreOrder(BT->Lchild);
PreOrder(BT->Rchild);
}
}
//中序遍历
void InOrder(BiTree BT){
if(BT){
InOrder(BT->Lchild);
Visit(BT);
InOrder(BT->Rchild);
}
}
//后序遍历
void PostOrder(BiTree BT){
if(BT){
PostOrder(BT->Lchild);
PostOrder(BT->Rchild);
Visit(BT);
}
}
//按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树
void CreateBiTree(BiTree &BT){
char ch;
scanf("%c",&ch);
if(ch!