建立一棵二叉树,并对其进行遍历(先序、中序、后序),打印输出遍历结果

2024-11-15 17:55:22
推荐回答(1个)
回答1:

//只有先序遍历,其它的可以在这个基础上改。
//如果有不懂的可以hi我
#include
#include
typedef struct tnode
{
char data;
struct tnode *lchild;
struct tnode *rchild;

}tnode;
tnode *Tree_creat(tnode *t)
{
char ch;
ch=getchar();
if(ch==' ')
t=NULL;
else
{
if(!(t=(tnode *)malloc(sizeof(tnode))))
printf("Error!");
t->data=ch;//printf("[%c]",t->data);
t->lchild=Tree_creat(t->lchild);
t->rchild=Tree_creat(t->rchild);
}
return t;

}

void preorder(tnode *t)
{
if(t!=NULL)
{
printf("%c ",t->data);

preorder(t->lchild);
preorder(t->rchild);
}

}

void main()
{
tnode *t=NULL;
t=Tree_creat(t);
preorder(t);

}