


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.数据结构实验报告实验题目:实验五、查找排序姓名:学号: 142054301班级: 1420543系名:计算机工程系专业:计算机科学与技术指导老师:实验时间:2016年6月14日实验地点:专业软件实验室【实验概述】1. 实验目的及要求目的:1掌握哈希表的定义,哈希函数的构造方法。2掌握并比较各种排序算法。要求:预习并掌握查找的概念、 静态查找与动态查找、 顺序查找、二分查找、索引查找、二叉排序树的概念、平衡二叉树、哈希查找、直接插入排序、快速排序、冒泡排序、简单选择排序等算法思想。2. 实验原理1、树的逻辑结构特点:树(tree)是n(n 0) 个结点的有限集 T,其中:(1)有且仅有一个特定
2、的结点,称为树的根(root);(2)当n1时,其余结点可分为 m(m0)个互不相交的有限集 T1,T2,Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)。2、树结构中的基本术语,以及树的树形结构表示。.3、二叉树的逻辑结构特点:1、查找和排序是日常数据处理过程中经常要进行的操作和运算。2、查找是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或 ( 记录 ) 。若查找表中存在这样一个记录,则称“查找成功”,查找结果:给出整个记录的信息,或指示该记录在查找表中的位置;否则称“查找不成功”,查找结果:给出“空记录”或“空指针” 。3、静态查找与动态查找的区别。平
3、均查找长度。4、查找算法有:静态查找中常见的查找算法:顺序查找、二分查找、索引查找。动态查找中常见的算法有二叉排序树和平衡二叉树上的查找。平均查找长度为0的哈希查找。5、排序是是将一组“无序”的记录序列调整为“有序”的记录序列。6、排序算法的优劣从空间复杂度、时间复杂度、稳定性三个角度分析。7、常见的排序算法可分为:插入类、交换类、选择类、归并排序、基数排序等。3. 实验环境(使用的软件)VC+6.0.【实验内容】1. 实验算法设计设计一个学生信息管理系统,学生对象至少要包含:学号、姓名、成绩等信息。要求实现以下功能:1、查找:分别给定学生学号、姓名,能够查找到学生的基本信息(要求至少实现改进
4、后的顺序查找算法) ;2、排序:分别按学生的学号、成绩进行排序(要求至少用实现直接插入排序、冒泡排序、简单选择排序算法) 。2. 实验过程(源代码及描述、调试过程及分析)#include#includeusing namespace std;struct studentint num; /学号char name20;/姓名char banji20;/班级int c;/C语言课程成绩int datastruct;/数据结构课程成绩;struct queue.struct student a8;int lenth;class listprivate:queue d;public:int seqse
5、arch(list,char *);int binsearch(list,int,int,int);void insertsort(list);void selectsort(list);void bubblesort(list);list();void display(list);void show(int);list:list()struct student e8=1, 王丽 ,03511,85,76,2, 张秋 ,03511,78,77,.3, 刘丽 ,03511,90,79,4, 王童 ,03511,75,86,5, 赵阳 ,03511,60,71,6, 李艳 ,03511,58,68
6、,7, 钱娜 ,03511,95,89,8, 孙胜 ,03511,45,60,;for(int i=0;i8;i+)d.ai=ei;void list:show(int i)if(i=-1)coutsorry not found!endl;elsecout 学号 班级 c+ 数据结构 n;coutd.ai.num;;coutd.ai.banji;coutd.ai.datastruct;coutd.ai.cendl;.void list:display(list l)cout 学号 班级 c+ 数据结构 n;for(int i=0;i8;i+)coutl.d.ai.nu
7、m;;coutl.d.ai.banji;coutl.d.ai.datastruct;coutl.d.ai.cendl;int list:seqsearch(list l,char name20)/顺序查找for(int i=0;i8;i+)if(strcmp(,name)=0)return i;return -1;void list:insertsort(list l)/直接插入排序.struct student n;for(int i=1;i=0&strcmp(,)0)l.d.aj+1=l.d.aj;j-;
8、l.d.aj+1=n;display(l);void list:selectsort(list l)/简单选择排序for(int i=0;i7;i+)int j=i;for(int k=j;k8;k+).if(l.d.aj.c0;i-)for(int j=0;jl.d.aj+1.datastruct)student d=l.d.aj;l.d.aj=l.d.ai+1;l.d.aj+1=d;.display(l);void main()list l;cout 顺序查找姓名为赵阳的学生n;int i=l.seqsearch(l,赵阳 );l.show(i);coutendl;cout 直接插入排序对姓名进行排序n;cout排序前的结果: n;l.display(l);cout 排序后的结果: n;l. insertsort (l);coutendl;cout 简单选择排序对 c语言成绩进行排序 n;cout排序前的结果: n;l.display(l);cout 排序后的结果: n;l.selectsort(l);.coutendl;cout 冒泡排序对数据结构成绩进行排序n;cout排序前的结果: n;l.display(l);cout 排序后的结果: n;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 固定综合单位合同范本
- 加工坊转让合同范本
- 呼吸衰竭有创通气护理查房
- 银行监控服务合同范本
- 产品授权经营合同范本
- 工厂吊车出售合同范本
- 消防现场通信保障课件
- 运输押金协议合同范本
- 露营用具租用合同范本
- 租房合同范本
- GB/T 24633.1-2024产品几何技术规范(GPS)圆柱度第1部分:词汇和参数
- 护理工作中的人文关怀
- (完整版)八年级上物理思维导图
- 北京市《配电室安全管理规范》(DB11T 527-2021)地方标准
- 【开学第一课】七年级新生主题班会:踏上青春路 启航正当时 课件
- 2024年广东省佛山市投资促进中心招聘历年【重点基础提升】模拟试题(共500题)附带答案详解
- 快递驿站转让协议范本合同范本
- 绿盟科技2023年4月合作伙伴NSSP-Service认证附有答案
- QC/T 388-2023 碗形塞片 (正式版)
- 《小古文100篇》上册
- 2024年(基桩低应变反射波法)检测及试验技能与理论知识考试题库与答案
评论
0/150
提交评论