/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:cengcibianli.cpp
*作者:朱希康
*完成日期:2015年11月20日
*版本号:vc++6.0
*
*问题描述:二叉树构造
*输入描述:无
*程序输出:二叉树
*/
#ifndef BTREE_H_INCLUDED
#define BTREE_H_INCLUDED
#define MaxSize 100
#include<stdio.h>
typedef char ElemType;
typedef struct node
{
ElemType data; //数据元素
struct node *lchild; //指向左孩子
struct node *rchild; //指向右孩子
} BTNode;
void CreateBTNode(BTNode *&b,char *str); //由str串创建二叉链
BTNode *FindNode(BTNode *b,ElemType x); //返回data域为x的节点指针
BTNode *LchildNode(BTNode *p); //返回*p节点的左孩子节点指针
BTNode *RchildNode(BTNode *p); //返回*p节点的右孩子节点指针
int BTNodeDepth(BTNode *b); //求二叉树b的深度
void DispBTNode(BTNode *b); //以括号表示法输出二叉树
void DestroyBTNode(BTNode *&b); //销毁二叉树
void LevelOrder(BTNode *b);
BTNode *CreateBT1(char *pre,char *in,int n);//中序序列和先序序列构造
BTNode *CreateBT2(char *pre,char *in,int n);//中序序列和后序序列构造
#endif // BTREE_H_INCLUDED
#include "head.h"
int main()
{
ElemType in[]="DGBAECF",post[]="GDBEFCA";
BTNode *b2;
b2=CreateBT2(post,in