递归建树
void createBitree(Bitree &T)
{
char c;
scanf("%c",&c);
if(c==' ') T=NULL;
else
{
T=(BITNode *)malloc(sizeof(BITNode));
T->data=c;
createBitree(T->lchild);
createBitree(T->rchild);
}
}
visit函数
void visit(Bitree T)
{
if(T->data!=' ')
putchar(T->data);
puts("");
}
前序遍历
void qianPerBitree(Bitree T)
{
if(T!=NULL)
{
visit(T);
qianPerBitree(T->lchild);
qianPerBitree(T->rchild);
}
}
中序遍历
void zhongPerBitree(Bitree T)
{
if(T!=NULL)
{
zhongPerBitree(T->lchild);
visit(T);
zhongPerBitree(T->rchild);
}
}
后序遍历
void houPerBitree(Bitree T)
{
if(T!=NULL)
{
houPerBitree(T->lchild);
houPerBitree(T->rchild);
visit(T);
}
}