二叉树 c实现

来源:互联网 发布:linux命令大全chmod 编辑:程序博客网 时间:2024/05/18 02:46

#include<stdio.h>
typedef struct Bi{
char data;
struct Bi *left,*righ;
}BN,*Br;

void creat(Br *T)//创建二叉树{
char c;
scanf("%c",&c);
if(c==' ') *T=NULL;
else {
(*T)->data=c;
*T=(Br)calloc(sizeof(BN));
creat(&((*T)->left));
creat(&((*T)->righ));
}
}

visit(char c,int L){ //二叉树的遍例
if(c=='F') printf("%c在第%d层/n",c,L);
printf("%c %d/n",c,L);
}

pre(Br T,int L){
if(T){
visit(T->data,L);
pre(T->left,L+1);
pre(T->righ,L+1);
}
}


main(){
int l=1;
Br T=NULL;
creat(&T);
pre(T,l);
getche();
}