标题:[求助]【树的问题】
只看楼主
kuangkehua
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-29
 问题点数:0 回复次数:4 
[求助]【树的问题】

偶是初学新手,还望各位高手GG&JJ帮忙!

Thanks a lot!

搜索更多相关主题的帖子: lot Thanks 
2005-11-29 10:59
kuangkehua
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-29
得分:0 
[求助]题目

sorry!上午太匆忙了忘了把题上传上来。
偶是新手,请各位高手GG&MM帮忙!谢谢!

美妙的世界,I Love It So Much!
2005-11-29 15:07
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

没有可能的,除非的你二叉树是排序二叉树,用中序遍历就可以顺序输出字母


c++/C + 汇编 = 天下无敌
2005-11-29 16:01
无尘剑
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2005-5-18
得分:0 

编个查找函数,依字母顺序查找,每找一个字母遍历一次树,找到就输出,找不到就继续找直到树的所有结点都输出,程序结束。
虽然这个算法不是很好,但至少可以达到要求。至于源程序你就自己写吧,那样对你较好。


我只是个菜菜鸟,望各位多多指教!!!!!!!!!!
2005-12-01 13:24
kuangkehua
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-29
得分:0 
这是我写的还请各位指教:
void bitree_sortprint(BiTree &T)
{
Queue Q; //创建一个队列
if(!T) printf("error\n");
else {
p=T;//指向根结点
EnQueue(Q,p->data);//根结点入队
if(p->lchild&&p->rchild)//左右子树都存在时
{DeQueue(Q,p->data);//出队打印
printf(p->data);
printf(p->lchild);//打印左孩子
EnQueue(Q,p->rchild);//右孩子入队
p=p->lchild;
}
else {
if(!p->lchild&&!p->rchild)//左右孩子都不存在时
{DeQueue(Q,p->data);//出队打印
printf(p->data);
}
else if(p->lchild&&!p->rchild)//左孩子存在而右孩子不存在时
{DeQueue(Q,p->data);//出队打印
printf(p->data);
EnQueue(Q,p->lchild);//左孩子入队
p=p->lchild;
}
else if(!p->lchild&&p->rchild)//右孩子存在而左孩子不存在时
{DeQueue(Q,p->data);//出队打印
printf(p->data);
EnQueue(Q,p->rchild);//右孩子入队
p=p->rchild;
}
}//else
}//else
}//void

还请楼上的两位GG,以及楼下的各位GG讨论一下~~
谢谢!~~

美妙的世界,I Love It So Much!
2005-12-06 18:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-35700-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.293412 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved