//Author:PanDaoxi #includeusing namespace std; struct node{ int left,right; //左孩子和右孩子 char value; //值 }data[101]; int root=0,cnt; //根节点和记录有效字符 char ch; //输入的数据 //构建二叉树 int buildTree(int bt){ //参数:结点的编号 cin>>ch; if(ch=='.'){ //判断是否为空结点 bt=0; //赋值为0 return bt; //跳出程序 } else{ //非空结点,进行先序遍历 bt=++cnt; //构造结点 data[bt].value=ch; //存放根的值 data[bt].left=data[bt].right=0; //左右孩子都归零 data[bt].left=buildTree(bt); //递归左子树 data[bt].right=buildTree(bt); //递归右子树 } return bt; //完成递归 } //后序遍历二叉树 void postorder(int bt){ if(bt){ //非空结点 //递归输出根 postorder(data[bt].left); postorder(data[bt].right); cout<



