C语言程序设计--------二叉树的遍历

上传人:豆*** 文档编号:201718210 上传时间:2023-04-20 格式:DOC 页数:15 大小:34KB
收藏 版权申诉 举报 下载
C语言程序设计--------二叉树的遍历_第1页
第1页 / 共15页
C语言程序设计--------二叉树的遍历_第2页
第2页 / 共15页
C语言程序设计--------二叉树的遍历_第3页
第3页 / 共15页
资源描述:

《C语言程序设计--------二叉树的遍历》由会员分享,可在线阅读,更多相关《C语言程序设计--------二叉树的遍历(15页珍藏版)》请在装配图网上搜索。

1、C语言综合实验设计报告 题目:数据构造:二叉树的遍历 学院:化学工程学院 专业:制药工程 班级:00607 学号:13 姓名:李宏昊 设计日期:1月11日 指引教师:顾煜新 一 选题背景数据构造是由若干特性相似的数据元素构成的集合,且在集合上存在一种或多种关系。由关系不同可将数据构造分为四类:线性构造、树形构造、图状构造和集合构造。数据的存储构造是数据逻辑构造在计算机中的映象,由关系的两种映象措施可得到两类存储构造:一类是顺序存储构造,它以数据元素相对的存储位置表达关系,则存储构造中只涉及数据元素自身的信息;另一类是链式存储构造,它以附加的指针信息(后继元素的存储地址)表达关系。数据构造课程是

2、离散数学的后续课程,并是操作系统、编译原理、数据库系统、计算机算法设计与分析、计算机网络、软件工程、人工智能等的基本课程,是将来进行大型程序设计的一种训练过程。二设计思想通过调用函数的措施进行二叉树的遍历,定义坐标固定结点的位置。自动建立树和手动建立树的标志,选择:2手动,1自动。文本模式下创立树的过程,如果选择自动,电脑自动建立树,如果选择2手动,需要人工手动建立。手动提示输入结点,创立好树。再用图形显示创立好的树,进行先序,中序,后序遍历。遍历时显示每个结点的过程。最后关闭图形。三 重要问题的解决措施及技术核心 存在的重要问题是在手动创立树时如何输入结点,当选择“人工手动建立”时,在提示后

3、依次输入26个字符或数字,每行一种。此时树就能建立,然后用图形显示出来。本程序的技术核心是建立二叉树和图形显示遍历的过程,分别用到TreeCreatee(),VodDawTree(Treet)等函数。遍历结束后,图形关闭。四流程图开始主函数文本模式下创立树选择常量2常量1Printf()Root=InitTree()调用函数Tree*InitTree()图形显示创立的树前序遍历 中序遍历遍历时显示结点的过程后序遍历图形初始化图形关闭END五 程序清单*tre2.c二叉树演示*/#iclude gaics.#nuestdio.inlde #include #nlud data=ch; noe-x

4、;/*树的x坐标是传递过来的横坐标*/ ody=h50;/*树的y坐标与层次大小有关*/ nodNM+; node-lcildInitTree(+1,-w,w); nhild=Itre(+1,t+,w/2); rtunod;/*用图形显示创立好的树/void Drawre(Tre *t) if(t!=UL) setco(LACK); setfityle(OLIDFIL,LACK); fillelis(t-x,t-,9,); etcolor(WHTE); cire(tx,-y,0); *画圆* sprit(tr,%c,t-at);/*将内容转换成字符串输出* outtxxy(t-3,t-y-2,

5、str); i(t-li!=L)/左子树/ lne(-x5,ty12,-lcld-+,t-lchil-1); DraTree(t-chil); if(il!LL)/*右子树*/ li(t-5,-y12,trchil-5,trhil-y-1); DrawTree(-rhild); /遍历时显示每个结点的过程*/id Drawode(ree *t,intclr) soo(YELLOW); efllstyle(SO_FILL,LLOW); filelise(t-x,t-y,10,10); stcolor(RED); itf(st,%c,t-dat);/*将内容转换成字符串输出*/ uttext(t-

6、3,t-y-2,str); etcolr(color); uttexty(s,s.,str); setcolor(RED); sprintf(,%,s.u);*将遍历顺序用数字显示在树的结点上/ ottetxy(t-x3,-20,str); .um+; ee(1);/*前序遍历*/id Prerdr(Tree t) if(t!=UL) .x+=5; DrawNde(t,REEN); rrde(-lchild); Preoder(trchild); /中序遍历*/vd Mdordr(Teet) f(t!=NUL) Midodr(t-child); s.x; Drawe(t,YELLOW); io

7、rder(trchild); /*后序遍历*/voidPosrder(Tre t) f(!=ULL) osoder(t-lchid); Posdr(t-rchl); s=15; DrawNo(t,BLUE); /*图形初始化*/viIit() int d=DETEC,gm; itrph(&d,&gm,c:t); cleadevce(); setcolor(YL); otextxy(50,10,anyet niue); setcoo(RD); outxty(20,30,preorder); outtextxy(20,50,mdord); outtxtxy(20,400,porer); gtch();/*图形关闭*odClos() gth(); loseaph();六设计成果阐明本程序主函数简洁易懂,用了坐标设定树结点的位置,使运算以便。设立了选择功能,其中自动创立起着示范作用,还显示出程序的自动化限度。调用了众多功能函数,且函数体现较具体。用图形显示了遍历的通过使人更好地明白二叉树的遍历。局限性的是在手动建立树时,没有清晰阐明运用的变量的性质,让使用者在输入数据时产生疑惑,且有些具体函数的作用没有较好的体现。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!