数据结构课程设计:动态查找表汇编

上传人:今*** 文档编号:108300416 上传时间:2019-10-23 格式:DOC 页数:20 大小:676KB
返回 下载 相关 举报
数据结构课程设计:动态查找表汇编_第1页
第1页 / 共20页
数据结构课程设计:动态查找表汇编_第2页
第2页 / 共20页
数据结构课程设计:动态查找表汇编_第3页
第3页 / 共20页
数据结构课程设计:动态查找表汇编_第4页
第4页 / 共20页
数据结构课程设计:动态查找表汇编_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《数据结构课程设计:动态查找表汇编》由会员分享,可在线阅读,更多相关《数据结构课程设计:动态查找表汇编(20页珍藏版)》请在金锄头文库上搜索。

1、编号: 139 数据结构与算法课程设计说明书动态查找表 学院: 海洋信息工程学院 专 业: 计算机科学与技术 学生姓名: 学 号: 指导教师: 2015年 6 月 26 日动态查找表 学生姓名:银杰 指导老师:王晓莹摘 要本课程设计说明书系统地阐述了我使用C语言在Code:Blocks软件编写的动态查找表程序的整个过程,编写的环境是win7 64位操作系统。根据题目要求,编写动态查找表使用二叉排序树,即二叉链表作为存储结构。该程序具有建立数据功能、具有数据查找功能、具有数据插入功能、具有数据删除功能等基本功能操作。 关键词:动态查找表,Code:Blocks软件,win7 64位操作系统,C#

2、dynamic lookup table Author :yinjie Tutor :WangxiaoyingAbstract This course design specification system to explain the whole process of using C language in Code: Blocks software written in the dynamic look-up table program, the preparation of the environment is win7 64 bit operating system. Accordin

3、g to the topic request, the preparation of the dynamic look-up table using the two fork sort tree, that is, the two binary list as the storage structure. The program has the function of building data, data searching, data insertion, data deletion and so on. Key words:dynamic lookup table, Code:Block

4、s software,win7 64 bit operating system,C #目 录引言1查找的基本概念1小结1题目1第1章程序的构图设计21.1动态查询表:21.2程序功能流程图:2(1)、主函数模块2(2)、二叉排序树的生成3(3)、二叉排序树的查找模块4(4)、二叉排序树的插入模块4(5)、二叉排序树删除连接模块5(6)、二叉排序树的删除模块5(7)、二叉排序树的遍历模块6第2章详细设计的程序6各函数模块6(1)主函数模块6(2)二叉排序树的生成模块8(3)二叉排序树的查找模块8(4)二叉排序树的插入模块9(5)多态查找表删除模块10(6)二叉排序树的中序遍历模块12第3章 程序

5、测试和运行123.1 程序测试123.2 程序运行131、主界面 132、建立二叉排序树模块界面133、二叉排序树查找模块界面144、二叉排序树插入模块界面145、二叉排序树删除模块界面 146、退出程序的界面14总 结15程序完成情况15有待改进之处15课程设计期间的收获15附录源代码如下17桂林电子科技大学课程设计说明书引言查找的基本概念查找又称为检索,就是从一个数据元素集合中找出某个特定的数据元素。查找是数据处理中最为常用的一种操作,查找算法的优劣对整个软件系统的效率影响很大,尤其当所涉及的数据量较大时,更是如此。在一个数据集合中进行查找操作可选用的方法与该数据元素集合的存储结构有很大关

6、系。查找是根据某个给定的值,在数据元素构成的集合中确定是否在这样一个数据元素,它的关键字等于给定值的关键字。要进行查找,必须明确要查找对象的特征,也就是要查找元素的关键值。如果在数据集合中能找到与给定值相等的关键字,则该关键字所属的数据元素就是所要查找的数据元素,此时称该查找成功;如果查遍了整个数据元素集合也未能找到与给定值相等的关键字,则称该查找失败。小结当然对于这个说明书,我不可能做得至善至美,但是一些基本的格式内容还是符合要求的。首先,我对查找表进行一个简要的概述。然后,我就查找表进行了详细的分析,这是设计中很重要的一步。接下来,我把查找表中所有的设计简明清晰地展现出来,并把我在设计中遇

7、到的问题和分析解决问题的办法做了分析。最后,在结论中,我对自己的课程设计做了总体的评价同时简述了我在这次课程设计中的收获和经验。 题目 选题十二:动态查找表【问题描述】 利用二叉排序树完成动态查找表的建立、指定关键字的查找、插入与删除指定关键字结点。【任务要求】 算法输入:指定一组数据。算法输出:显示二叉排序树的中序遍历结果、查找成功与否的信息、插入和删除后的中序遍历结果(排序结果)。算法要点:二叉排序树建立方法、动态查找方法,对树进行中序遍历。【测试数据】自行设定,注意边界等特殊情况。 第1章程序的构图设计1.1动态查询表: 依照输入的一组数据56,80,65,20所得的二叉排序树如下(a)

8、所示:当插入11的时候就如(b)所示。 (a) (b)1.2程序功能流程图: (1)、主函数模块(2)、二叉排序树的生成(3)、二叉排序树的查找模块(4)、二叉排序树的插入模块(5)、二叉排序树删除连接模块(6)、二叉排序树的删除模块(7)、二叉排序树的遍历模块第2章详细设计的程序各函数模块 (1)主函数模块: 用主函数main()来实现。主要是通过设计一个do()函数并让主函数调用它来显示主菜单,让用户选择操作。在do()函数中,我应用了switch-case语句来进行选择,是个比较简单实现的模块。最后若选择“5”退出循环。否则继续循环。主要代码如下: int main() bitree T

9、=NULL,p;ElemType e;int n;int h;char c; do printf(*n); printf(* *n); printf(* 动态查找表 *n); printf(* 1. 建立二叉排序树 *n); printf(* 2. 二叉排序树查找元素 *n); printf(* 3. 二叉排序树插入元素 *n); printf(* 4. 二叉排序树删除元素 *n); printf(* 5. 退出 *n); printf(* *n); printf(*n); printf(请输入你的选择: n); scanf(%d,&h); switch(h) case 1:Init(T);p

10、rintf(中序遍历二叉排序树: );Zhongxu(T);printf(n); break; case 2:printf(请输入要查找的数据:n);scanf(%d,&n);e.key=n; if(Search(T,e,NULL,p) printf(数据已经存在!n); else printf(数据不存在!n); break; case 3:printf(请输入要插入的数据:n);scanf(%d,&n);e.key=n; if(Search(T,e,NULL,p) printf(已经存在!n); elseInsert(T, e); printf(成功插入!n);printf(中序遍历二叉排序树: );Zhongxu(T);printf(n); break; case 4:printf(请输入要删除的数据:n);scanf(%d,&n);e.key=n; if(Search(T,e,NULL,p) Deletebit(T,n); printf(已经成功删除!n);printf(中序遍历二叉排序树: );Zhongxu(T);printf(n); else printf(数据不存在!n); break; case 5:printf(退出!n); break; default:printf(选择错误,重新开始!n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号