// 二叉树.cpp : 定义控制台应用程序的入口点。
//
#include "stdio.h"
char A[10];
char B[10];
//int length;
void input(){
printf("二叉树中序遍历:");
gets(A);
printf("二叉树先序遍历:");
gets(B);
}
int position(int m){
int i;
for(i=0;i<10;i++)
if(B[m]==A[i])
return i;
return -1;
}
void output(int i,int j,int m,int n){
int k=position(m);
if(k==-1)
printf("wrong!!!");
else{
if(k-i>0){
printf("(");
output(i,k-1,m+1,k-i+m);
printf(")");
}
printf("%c",B[m]);
if(j-k>0){
printf("(");
output(k+1,j,k-i+m+1,n);
printf(")");
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{ input();
printf("输出结果:");
output(0,7,0,7);
getchar();
getchar();
return 0;
}