设计二叉链表结构的相关函数库

设计二叉链表结构的相关函数库

ID:11013989

大小:98.00 KB

页数:11页

时间:2018-07-09

设计二叉链表结构的相关函数库_第1页
设计二叉链表结构的相关函数库_第2页
设计二叉链表结构的相关函数库_第3页
设计二叉链表结构的相关函数库_第4页
设计二叉链表结构的相关函数库_第5页
资源描述:

《设计二叉链表结构的相关函数库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告课程:数据结构学号:姓名:班级:教师:时间:2011.12.16~2011.12.30计算机科学与技术系设计名称:设计二叉链表结构的相关函数库设计目的与要求:使用MicrosoftVisualC++设计二叉链表结构的相关函数库,以便在程序设计中调用设计二叉链表结构的相关函数库,在程序设计中调用,并实现二叉树的各种基本函数以及常用函数。设计所用软件环境:MicrosoftVisualC++6.0问题的模型化描述及求解算法的简要描述:建立链式存储结构的二叉树队列用先序遍历创建二叉链表定义初始化入队出队中序遍历后

2、序遍历遍历深度叶子结点数开始输出结果结束1.数据结构typedefchardatatype;typedefstructnode//定义二叉树结点类型{datatypedata;structnode*lchild;structnode*rchild;}Btnode,*Btree;typedefstructQueueNode{BiTreedata;structQueueNode*next;}LinkQueueNode;//队列中的每个节点typedefstruct{LinkQueueNode*front;LinkQueue

3、Node*rear;}LinkQueue;//队列2.模块划分1.入队voidEnterQueue(LinkQueue*Q,BiTreex)2.队列判空intQueueIsEmpty(LinkQueue*Q)3.出队voidDeleteQueue(LinkQueue*Q,BiTree*x)4.根据先序递归建立二叉树Btreepre_creat()5.递归遍历输出函数voidpreorder_btree(Btreeroot)//由先根序列遍历输出二叉树voidinorder_btree(Btreeroot)//由中根序列

4、遍历输出二叉树voidpostorder_btree(Btreeroot)//由后根序列遍历输出二叉树6.层次遍历输出算法voidlevel_btree(Btreeroot)7.求二叉树深度得算法voiddepth(BiTreeroot,8.求二叉树叶子结点数的算法voidcountleaf(BiTreeroot软件组成及使用说明:软件组成:VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。使用说明:(1)编辑(把程序代码输入,交给计算机)

5、。(2)编译(成目标程序文件.obj)。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。(3)链接(成可执行程序文件.exe)。链接是将编译产生的.obj文件和系统库连接装配成一个可以执行的程序。由于在实际操作中可以直接点击Build从源程序产生可执

6、行程序,可能有人就会置疑:为何要将源程序翻译成可执行文件的过程分为编译和链接两个独立的步骤,不是多此一举吗?之所以这样做,主要是因为:在一个较大的复杂项目中,有很多人共同完成一个项目(每个人可能承担其中一部分模块),其中有的模块可能是用汇编语言写的,有的模块可能是用VC写的,有的模块可能是用VB写的,有的模块可能是购买(不是源程序模块而是目标代码)或已有的标准库模块,因此,各类源程序都需要先各自编译成目标程序文件(2进行机器指令代码),再通过链接程序将这些目标程序文件连接装配成可执行文件。(4)运行(可执行程序文件)。

7、上述四个步骤中,其中第一步的编辑工作是最繁杂而又必须细致地由人工在计算机上来完成,其余几个步骤则相对简单,基本上由计算机来自动完成。程序清单:#include#includetypedefstructNode{chardata;structNode*Lchild;structNode*Rchild;}BiTNode,*BiTree;//二叉树节点,二叉链表typedefstructQueueNode{BiTreedata;structQueueNode*next;}LinkQueu

8、eNode;//队列中的每个节点typedefstruct{LinkQueueNode*front;LinkQueueNode*rear;}LinkQueue;//队列/*队列的初始化*/voidInitQueue(LinkQueue*Q){Q->front=(LinkQueueNode*)malloc(sizeof(LinkQu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。