有哪位高手帮忙分析下以下程序:#include"iostream.h"
#define maxnode 100
typedef char datatype;
typedef struct bitnode{
datatype data;//存储数据信息的信息域
struct bitnode *lchild,*rchild;//左右孩子指针
}bitnode,*bitree;void createbitree(bitree *t){//创建一棵已生成左右子树的二叉树的算法char ch;cin>>ch;if(ch=='0')(*t)=NULL;else{(*t)=new bitnode;
(*t)->data=ch;
createbitree(&(*t)->lchild);
createbitree(&(*t)->rchild);}}int inorderout(bitree bt) {//非递归中序遍历二叉树
bitree stack[maxnode],p;int top;if(bt==NULL)
return 1;//空树
top=-1;//栈顶指针初始化p=bt;while(!(p==NULL&&top==-1)) {
while(p!=NULL) {
if(top