#include<iostream>
using namespace std;
typedef char ElemType;
#define MaxSize 100
typedef struct node //定义二叉树
{
ElemType data;
struct node *lchild;
struct node *rchild;
}BTNode;
void CreateBTNode(BTNode *&h,char *str) //建造二叉树
{
BTNode *zhan[MaxSize],*p=NULL;
int top=-1,k,j=0;
char c;
c=str[j];
while(c!='#')
{
switch(c)
{
case '(':top++;zhan[top]=p;k=1;break;
case ')':top--;break;
case ',':k=2;break;
default:p=new BTNode;
p->data=c;p->lchild=NULL;p->rchild=NULL;
if(h==NULL)
h=p;
else
switch(k)
{
case 1:zhan[top]->lchild=p;break;
case 2:zhan[top]->rchild=p;break;
}
}
j++;
c=str[j];
}
}
void display(BTNode *h) //输出root的左右的孩子
{
cout<<"左孩子结点值:"<<h->lchild->data<<endl;
cout<<"右孩子结点值:"<<h->rchild->data<<endl;
}
int high(BTNode *h) //求高度
{
int i,lift,right;
if(h==NULL)
return 0;
else
{
if(h->lchild!=NULL)
i=1;
else