数据结构二叉树的先序建立和中序遍历,结果不正确,求指点。

小小白杨123 2013-04-01 09:14:25
采用的是二叉树的链式存储结构
#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);
}
...全文
107 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧