用C语言编程实现二叉树的中序遍历算法

1、采用二叉链表存储结构创建一个二叉树2、用非递归方法实现二叉树的中序遍历算法3、输出二叉树中每个节点的值4、给定具体数据调试程序... 1、采用二叉链表存储结构创建一个二叉树 2、用非递归方法实现二叉树的中序遍历算法3、输出二叉树中每个节点的值 4、给定具体数据调试程序 展开
 我来答
哇★哈哈
推荐于2016-01-03
知道答主
回答量:12
采纳率:0%
帮助的人:13.1万
展开全部
#include<stdio.h>
#include<stdlib.h>
struct BiTNode *stack[100];
struct BiTNode//定义结构体
{
char data;
struct BiTNode *lchild,*rchild;
};
void later(struct BiTNode *&p) //前序创建树
{
char ch;
scanf("%c",&ch);
if(ch==' ')
p=NULL;
else
{
p=(struct BiTNode *)malloc(sizeof(struct BiTNode));
p->data=ch;
later(p->lchild);
later(p->rchild);
}
}
void print(struct BiTNode *p) //前序遍历(输出二叉树)
{
int i=-1;
while(1)
{
while(p!=NULL)
{
stack[++i]=p->rchild;/*printf("ok?\n");*/
printf("%c",p->data);
p=p->lchild;
}
if(i!=-1)
{
p=stack[i];
i--;
}
else
return;
}
}
void main()//主函数
{
struct BiTNode *p,*t;
later(p);
print(p);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ycsxm
2011-11-21 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.4万
采纳率:0%
帮助的人:7979万
展开全部
如果替你做作业,这道题做完,得花我一小时才行。
自已动动脑筋了,老师肯定讲过的,就是用堆栈实现,很简单。
但上课不听的话,肯定就做不出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户20593
2011-11-21
知道答主
回答量:7
采纳率:0%
帮助的人:1.2万
展开全部
rq34
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式