急!二叉树的建立与遍历 !

来源:百度知道 编辑:UC知道 时间:2024/05/28 11:26:10
从键盘输入某一二叉树前序遍历及中序遍历序列,构造二叉树并输出该二叉树后序遍历序列。

#define NULL 0
#define LEN sizeof(struct tree)

struct tree
{
int data;
struct tree *ltree;
struct tree *rtree;
};

struct tree *creatTree(struct tree **Tree)
{
//struct tree *Tree;
*Tree=(struct tree *)malloc(LEN);
scanf("%d",&(*Tree)->data);
if((*Tree)->data)
{
creatTree(&(*Tree)->ltree);
creatTree(&(*Tree)->rtree);
}
if((*Tree)->data==0)
{
(*Tree)->ltree = NULL;
(*Tree)->rtree = NULL;
}
return (*Tree);
}

void printTree(struct tree *Tree)
{
if(Tree)
{
printf("%d",Tree->data);
printTree(Tree->ltree);
printTree(Tree->rtree);
}
}

void main()
{
struct tree *mtree;
mtree=creatTree(&mtree);
printTree(mtree);
//getch();
}