#include
#include
typedef struct BiTNode{
char data;
结构位*rchild、*rchild; //
}比特节点、*比特树;
bi树创建树(bi树t ) {//
char ch;
扫描(' % c ',ch );
if(ch==#) T=NULL;
else {
t=(bi tree ) malloc (sizeof (bitnode ) );
T-data=ch;
CreateBiTree(T-lchild )
CreateBiTree(T-rchild )
以下
返回t;
以下
voidpreordertraverse (bitreet ) {//
PS!=NULL )
举止
printf('%c ',T-data );
PreOrderTraverse(T-lchild )
PreOrderTraverse(T-rchild )
以下
以下
voidinordertraverse (bitreet ) {//
PS!=NULL )
举止
订单轨迹(t-lchild )
printf('%c ',T-data );
订单旅行(t-rchild )
以下
以下
voidpostordertraverse (bitreet ) {//
PS!=NULL )
举止
PostOrderTraverse(T-lchild )
PostOrderTraverse(T-rchild )
printf('%c ',T-data );
以下
以下
树形深度(bi树t ) {//
int lH=0;
int rH=0;
PS (t==空)返回0;
else{
LH=树深度(t-lchild )
RH=树深度(t-rchild )
PS (PS )返回PS 1; //
电子返回RH 1; //
以下
以下
int main ()
bi树t=空;
printf('\n ' );
T=CreateBiTree(T )
printf('\n ' );
PreOrderTraverse(T )
printf('\n ' );
printf('\n ' );
订单旅行(t )。
printf('\n ' );
printf('\n ' );
PostOrderTraverse(T )
printf('\n ' );
printf (' ' );
int h=树深度(t )
打印(' % d ',h );
系统(' pause ' );
以下