[求助]二叉树有点困惑????
希望从键盘上输入二叉树.然后输出前、中、后序遍历。
为什么没有反应??如何修改,指点一下???????///谢谢了!!!!!!!!!!!
#include<stdio.h>
#include<malloc.h>
typedef struct Bitnode{
char data;
struct Bitnode *lchild;
struct Bitnode *rchild;
}Bitnode,*Bitree;
void Creat(Bitree *root){
char ch;
scanf(&ch);
if(ch==' ')
*root=NULL;
else
*root=(Bitnode *)malloc(sizeof(Bitnode));
(*root)->data=ch;
Creat(&(*root)->lchild);
Creat(&(*root)->rchild);
}
void Frist(Bitree root){
if(root){
printf("%c",root->data);
Frist(root->lchild);
Frist(root->rchild);
}
}
void Middle(Bitree root){
if(root){
Middle(root->lchild);
printf("%c",root->data);
Middle(root->rchild);
}
}
void Last(Bitree root){
if(root){
Last(root->lchild);
Last(root->rchild);
printf("%c",root->data);
}
}
void main(){
Bitree root;
Creat(&root);
printf("前序遍历二叉树\n:");
Frist(root);
printf("\n");
printf("中序遍历二叉树\n:");
Middle(root);
printf("\n");
printf("后序遍历二叉树\n:");
Last(root);
printf("\n");
}