#include<stdio.h>
#include<stdlib.h>
#define ElemType int
typedef struct BiNode{
ElemType data;
struct BiNode* lchild;
struct BiNode* rchild;
}BiNode,*BiTree;
//----------------二叉树的建立--------------------
BiTree Creat()
{
ElemType x;
BiTree bt;
scanf("%d",&x);
if(x==0)
bt=NULL;
else if(x>0)
{
bt=(BiNode*)malloc(sizeof(BiNode));
bt->data=x;
bt->lchild=Creat();
bt->rchild=Creat();
}
else
printf("输入错误\n");
return bt;
}
//----------------中序遍历二叉树---------------
void InOrderTraverse(BiTree bt)
{
if(bt)
{
InOrderTraverse(bt->lchild);
printf("%d ",bt->data);
InOrderTraverse(bt->rchild);
}
}
int main()
{
BiTree bt=Creat();
InOrderTraverse(bt);
}
输入时,输入数字0,表示对应的子树为空。