1、 数据结构数据结构课程设计报告课程设计报告 学学 院院 专专 业业 班班 级级 学学 号号 学生姓名学生姓名 * 指导教师指导教师 课程成绩课程成绩 完成日期完成日期 2013 年年 7 月月 12 日日 课程设计任务书课程设计任务书 学院 专业 课程名称 数据结构课程设计 时间 20122013 学年第二学期 1920 周 学生姓名 指导老师 题 目 设计出树结构的相关函数库,以便在程序设计中调用 主要内容: 使用 Microsoft Visual C+ 6.0 设计二叉链表结构的相关函 数库,以便在程序设计中调用设计二叉链表结构的相关函数库, 在程 序设计中调用,并实现二叉树的各种基本函数
2、以及常用函数。 要求: (1)包括树结构的存储结构及各种基本函数以及常用函数 (自己 确定函数、函数形式及理由) 。 (2) 最好能借助语言环境实现图形显示功能, 以便能将抽象的数 据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出 来。 (3)给出若干例程, 演示通过调用自己的库函数来实现相关问题 的求解。? 应当提交的文件: (1)课程设计学年论文。 (2)课程设计附件(主要是源程序) 。 设计出树结构的相关函数库,以便在程 序设计中调用 学生姓名:学生姓名: 指导老师:指导老师: 摘 要 作为用户我们极少接触系统调用,但是我们熟悉 C 语言,对库函数的 调用并不陌生。C 语言支持
3、一系列库函数的调用,而事实上,库函数的调用是 C 语言在较高层次上调用的一种方式, 函数调用是操作系统内核提供给程序员的程 序设计界面,它们是内核提供给用户调用的函数。使用 Microsoft Visual C+ 6.0 设计二叉链表结构的相关函数库,操作系统通过执行 main函数开始运行一个 C 程序。main函数可以调用 C 程序中的其他函数来完成程序的任务,其他函数也 可以互相调用,但其他函数(非 main函数)不能调用 main函数(main函数只 能由操作系统来调用)。 关键词 设计函数库;C 程序的执行;C 程序的调用;C 语言;VC+6.0 目录目录 1 引 言 1 1.1 课程
4、设计目的 1 1.2 课程设计要求 1 2 问题的描述. 2 2.1 问题的模型化描述. 3 3数据结构. 3 3.1 定义二叉树结点类型. 3 4 模块划分 3 4.1 入队 3 4.2 队列判空 3 4.3 出队 4 4.4 根据先序递归建立二叉树. 4 4.5 递归遍历输出函数. 4 4.6 层次遍历输出算法. 5 4.7 求二叉树深度得算法 5 4.8 求二叉树叶子结点数的算法. 5 5 运行程序 6 5.1 程序运行结果. 6 6 结束语 8 附录:源程序代码 9 1 1 引引 言言 Visual C+6.0 由许多组件组成,包括编辑器、调试器以及程序向导 AppWizard、类向导
5、 Class Wizard 等开发工具。编译就是把高级语言变成计算机 可以识别的 2 进制语言,计算机只认识 1 和 0,编译程序把人们熟悉的语言换 成 2 进制的。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段: 词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。 主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法 错误,给出提示信息。将编译产生的.obj 文件和系统库连接装配成一个可以执 行的程序。由于在实际操作中可以直接点击 Build 从源程序产生可执行程序, 将源程序翻译成可执行文件的过程分为编译和链接两个独立的步骤,之所以这 样做,主
6、要是因为:在一个较大的复杂项目中,有很多人共同完成一个项目(每 个人可能承担其中一部分模块),其中有的模块可能是用汇编语言写的,有的模 块可能是用 VC 写的,有的模块可能是用 VB 写的,有的模块可能是购买(不是 源程序模块而是目标代码)或已有的标准库模块,因此,各类源程序都需要先各 自编译成目标程序文件,再通过链接程序将这些目标程序文件连接装配成可执 行文件,再调用函数或运行可执行程序文件。 1.1 课程设计目的课程设计目的 (1)使用 Microsoft Visual C+6.0 设计二叉链表结构的相关函数库 (2)在程序设计中调用设计二叉链表结构的相关函数库 (3)在程序设计中调用并实现二叉树的各种基本函数以及常用函数。 1.2 课程设计要求课程设计要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团