早教吧 育儿知识 作业答案 考试题库 百科 知识分享

写出由二叉树的中序遍历序列mid[1..n]和层次遍历序列lev[1..n]确定二叉树的算法

题目详情
写出由二叉树的中序遍历序列mid[1..n ]和层次遍历序列lev[1..n ]确定二叉树的算法
▼优质解答
答案和解析
#include
#include
#define max 100
typedef char ch[10];
void fun(ch x,ch y){
if(*x){
ch x1,x2,y1,y2;
char *p,*q,*t; char r; int n=0;
r=*x; t=y; p=y1; q=y2;
while(*t!=r){
*(p++)=*(t++);
n++;
}
t++; *p='\0';
while(*t) *(q++)=*(t++);
*q='\0'; t=&x[1]; p=x1; q=x2;
for (int i=0;i while(*t) *(q++)=*(t++); *q='\0';
fun(x1,y1); fun(x2,y2);
printf("%c",r);
}
}
void f(){
ch x,y;
printf("input a tree preorder:\n"); gets(x);
printf("input a tree midoeder:\n"); gets(y);
printf("\n");
puts(x); puts(y);
fun(x,y);
printf("\n");
}
void main(){
printf("***********Bitree************\n");
int n=1;
while(n){
f();
printf("0:break 1 :continue\n");
printf("input your select :");
scanf("%d",&n); getchar();
}
}