社区
C++ 语言
帖子详情
c++课程设计
zx8690
2008-12-03 10:36:12
要求:输入一棵树的各个节点信息,输出各种遍历的序列(先根、后根、中根、层次)。输入其中两种遍历序列,试图构造出该树,并输出其他两种遍历序列。
哪位高手可以给解答下
...全文
127
10
打赏
收藏
c++课程设计
要求:输入一棵树的各个节点信息,输出各种遍历的序列(先根、后根、中根、层次)。输入其中两种遍历序列,试图构造出该树,并输出其他两种遍历序列。 哪位高手可以给解答下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
梦之安魂曲
2008-12-05
打赏
举报
回复
//二叉树的三种遍历
#include<iostream.h>
typedef char elemtype;
struct bitree
{
elemtype data;
bitree *lchild,*rchild;
};
bitree *create()
{ bitree *root,*s,*q[100];
int front=1,rear=0;
char ch;
root=NULL;
cout<<"请输入结点值,‘,’为虚结点,‘#’结束"<<endl;
cin>>ch;
while(ch!='#')
{ s=NULL;
if(ch!=',')
{ s=new bitree;
s->data=ch;
s->lchild=NULL;
s->rchild=NULL;
}
rear++;
q[rear]=s;
if(rear==1) root=s;
else
{ if((s!=NULL)&&(q[front]!=NULL))
{ if(rear%2==0) q[front]->lchild=s;
else q[front]->rchild=s;}
if(rear%2==1) front++;
}
cin>>ch;}
return root;
}
void preorder( bitree *root)
{ bitree *p;
p=root;
if(p!=NULL)
{ cout<<p->data;
preorder(p->lchild);
preorder(p->rchild);
}
}
void preorder1(bitree *root)
{ bitree *p,*s[100];
int top=0;
p=root;
while((p!=NULL)||(top>0))
{ while(p!=NULL)
{cout<<p->data<<" ";
s[++top]=p;
p=p->lchild;
}
p=s[top--];
p=p->rchild;
}
}
void inorder( bitree *root)
{ bitree *p;
p=root;
if(p!=NULL)
{
inorder(p->lchild);
cout<<p->data<<" ";
inorder(p->rchild);
}
}
void inorder1( bitree *root)
{ bitree *p,*s[100];
int top=0;
p=root;
while((p!=NULL)||(top>0))
{ while(p!=NULL)
{s[++top]=p;p=p->lchild;}
{p=s[top--];
cout<<p->data<<" ";
p=p->rchild;
}
}
}
void postorder( bitree *root)
{ bitree *p;
p=root;
if(p!=NULL)
{
postorder(p->lchild);
postorder(p->rchild);
cout<<p->data<<" ";
}
}
void postorder1( bitree *root)
{ bitree *p,*s1[100];
int s2[100],top=0,b;
p=root;
do
{ while(p!=NULL)
{s1[top]=p;s2[top++]=0;
p=p->lchild;}
if(top>0)
{b=s2[--top];
p=s1[top];
if(b==0)
{s1[top]=p;s2[top++]=1;
p=p->rchild;}
else
{cout<<p->data<<" ";
p=NULL;
}
}
}while(top>0);
}
void main()
{ bitree *root;
root=create();
cout<<"先序遍历的结果"<<endl;
preorder(root);cout<<endl;
preorder1(root);cout<<endl;
cout<<"中序遍历的结果"<<endl;
inorder(root);cout<<endl;
inorder1(root);cout<<endl;
cout<<"后序遍历的结果"<<endl;
postorder(root);cout<<endl;
postorder1(root);cout<<endl;
}
love514425
2008-12-05
打赏
举报
回复
> 基本的树的遍历
jieao111
2008-12-05
打赏
举报
回复
我的资源里有
program2050
2008-12-05
打赏
举报
回复
等你独立完成了,你对指针等等就有更深的理解了。
这是你提升你编程能力的好机会!
加油!
tsoslience
2008-12-04
打赏
举报
回复
[Quote=引用 5 楼 bobye1230 的回复:]
你还知道来这问,不错不错~~
想我当年,压根就不知道有这么个地方~。~
[/Quote]
想当年都是网上down的
bobye1230
2008-12-04
打赏
举报
回复
你还知道来这问,不错不错~~
想我当年,压根就不知道有这么个地方~。~
asksgp
2008-12-03
打赏
举报
回复
是哦,数据结构都有
lann64
2008-12-03
打赏
举报
回复
就这么简单个问题还不自己做?
ypb362148418
2008-12-03
打赏
举报
回复
[Quote=引用 1 楼 qq675927952 的回复:]
找本数据结构数好好看一下,里面都有。。。。。
[/Quote]
楼上说的没错,数据结构里都有的
qq675927952
2008-12-03
打赏
举报
回复
找本数据结构数好好看一下,里面都有。。。。。
C++
课程设计
报告及源码
C++
课程设计
报告及源码
非常完整!
]Visual
C++
网络编程开发与实战-清华大学.pdf
]Visual
C++
网络编程开发与实战-清华大学.pdf
c++
聊天室(
课程设计
毕业论文都可以参考)(服务器和客户端都有)
c++
聊天室源代码(服务器和客户端都有),自己以前做的,服务器是完成端口,客户端是异步,文件传输是点对点的,希望对大家有所帮助(现取消资源分,欢迎大家下载)抱歉由于本人论文不是这个,所以没有,大家参考着写下吧
C++
学生成绩管理系统(附源码 毕业设计)
学生成绩管理系统 1. 功能模块与界面 (1)教师,学生登录 (2)学生显示自己的全部信息 (3)教师选择功能:课程管理,成绩录入,成绩查询,成绩修改,成绩删除,学生管理。 (4)课程管理中可以添加,修改,删除课程 (5)成绩录入可以选择课程,然后选择成绩文件录入成绩。 (6)成绩修改可以输入学生的学号和成绩进行修改。 (7)成绩查询可以选择通过学号,姓名,课程等进行查询。 (8)成绩删除可以输入学号和课程删除相应成绩。 (9)学生管理选择添加,修改和删除学生。(添加学生:输入新学生的信息,修改学生:输入需修改得学生学号,然后输入新的信息,删除学生:输入需要删除的学生学号) 可直接运行。做毕业设计、
课程设计
或者想研究下技术的可以下载学习。需要更多资源的可以关注我。
c++
各种小游戏(我们老师的)
这是我们老师做的,各种小游戏,我感觉还不错,所以传上来玩玩。是
c++
做的,有的可以用来交作业和
课程设计
都行的,而且对于
c++
游戏初学者的话很有帮助的。
C++ 语言
65,209
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章