二叉树中的数据元素为字符型数据,请输入一行字符,以回车符 '\n'作为结束。试设计一算法依据输入的一行字符中的各个字符创建一棵二叉树。在主函数中利用已经写好的中序递归遍历算法遍历该二叉树。
# include<stdio.h>
# include<malloc.h>
# define M 100
typedef char ElemType;
typedef struct node
{
ElemType data;
struct node *left,*right;
} BiTree;
BiTree *CreateBiTree( )
{
BiTree *t;
char ch;
scanf("%c",&ch);
if(ch!='#'){
t=(BiTree*)malloc(sizeof(BiTree));
t->data=ch;
t->left=CreateBiTree();
t->right=CreateBiTree();
}
else
t=NULL;
return t;
}
void InOrder(BiTree *t)
{
if(t!=NULL)
{
InOrder(t->left);
printf("%c ",t->data);
InOrder(t->right);
}
}
int main()
{
BiTree *mytree;
mytree=CreateBiTree();
InOrder(mytree);
return 1;
}