二叉树节点:
typedef struct node{ elemType data; struct node *lchild; struct node *rchild; }BTNode;
输入前序遍历序列建立二叉树,空节点为空格:
//根据前序遍历建立二叉树 int create(BTNode *&T){ elemType ch; scanf("%c",&ch); if(ch==' ') T=NULL; else{ T=(BTNode*)malloc(sizeof(BTNode)); T->data=ch; create(T->lchild); create(T->rchild); } return 1; }
根据树的括号表示法建立二叉树:
//根据括号表示法创建二叉树 void create2(BTNode *&root,char *str){ root=NULL; BTNode *p; int i=0,k=0; stack<BTNode*> s; char ch=str[i]; while(ch!='