#include <stdio.h>
#include <stdlib.h>
#define Max 100
typedef char DataType;
typedef struct BiNode
{
DataType data;
struct BiNode *lchild,*rchild;
} BiNode,*BiTree;
BiTree Creat(char first,char mid);
int main()
{
char first,mid;
printf("请输入先序遍历序列:\n");
scanf("%c",first);
printf("请输入中序遍历序列:\n");
scanf("%c",mid);
char first1[Max],mid1[Max];
for(int i=1; first!='\n'; i++)
first1[i]=first;
for(int i=1; mid!='\n'; i++)
mid1[i]=mid;
Creat(first1,mid1);
return 0;
}
BiTree Creat(char first[],char mid[])
{
BiTree root;
root=(BiTree)malloc(sizeof(BiNode));
int i=1;
char x[Max];
root->data=first[1];
for(x[i]=mid[i]; x[i]!='\n';i++)
{
if(x[i]=first[i])
break;
}
root->lchild=Creat(first+1,mid);
root->rchild=Creat(first+i+1,mid+1);
return root;
}
