小弟初学数据结构,望高手指点,让我能使这个程序运行成功~!~!~!偶感激不尽啊~!一个算法要想在TC上运行,这个算法实现功能:建立一个二叉树,然后按先,中,后序遍历
struct bnodept
{datatype data;
struct bnodept *lchild,*rchild
}
typedef struct bnodept *bitreptr;
void preorder (bitreptr t) /*前序*/
{bitreptr stack[max+1];
int top=0;
do
{while(t!=null)
{visite(t->data);
if(top==max)
{printf("stack full");
return;}
stack[++top]=t;
t=t->child;}
if(top!=0)
{t=stack[top--];
t=t->rchild;
}}
while(top!=0^t!=null);}
void inorder(bitreptr t) /*中根*/
{if (t!=null){inorder(t->lchild);
visite(t->data);
inorder(t->rchild);
}}
void postorder(bitreptr t) /*后根*/
{if(t!=null){postorder(t->data);
postorder(t->rchild);
visite(t->data);}
}
bitreptr crt_bt_pre() /*建立树*/
{char ch;
bitreptr bt;
ch=getchar();
if(ch=='')return(null);
else {bt=(bitreptr)malloc(sizeof(struct bnodept));
bt->data=ch;
bt->lchild=crt_bt_pre();
bt->rchild=crt_bt_pre();
return(bt);}
}
main()
{bitreptr a;
a=bitreptr crt_bt_pre();
preorder(bitreptr a);
inorder(bitreptr a);
postorder(bitreptr a);
}