33,311
社区成员
发帖
与我相关
我的任务
分享
#include"F:\学习\哥的函数库\基本操作\BASEDEFINE.cpp"
typedef char TElemType;
typedef struct BiNode{
TElemType data;
struct BiNode *lchild,*rchild;
}BiNode,*BiTree;
Status Visit(TElemType e)
{
printf("%c",e);
return Ok;
}
Status CreateBiTree(BiTree &T)
{
TElemType ch;
scanf("%c",&ch);
if(ch==' ')T=NULL;
else
{
if(!(T=(BiNode*)malloc(sizeof(BiNode))))exit(OVERFLOW);
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
return Ok;
}
Status InOrderTraverse(BiTree T,Status (*Visit)(TElemType e))
{
if(T)
{
if(InOrderTraverse(T->lchild,Visit))
if(Visit(T->data))
if(InOrderTraverse(T->lchild,Visit))
return Ok;
return Error;
}
else
return Ok;
}
void main()
{
BiTree T;
CreateBiTree(T);
InOrderTraverse(T,Visit);
}