ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:63.01KB ,
资源ID:26661627      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26661627.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验五 查找与排序.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验五 查找与排序.docx

1、实验五 查找与排序本科学生综合性实验报告(封面)项目组长郑慧乐 学号 0174280 成 员 郑慧乐 专 业 物联网 班级 173 实验项目名称实验五 查找与排序指导教师及职称黄淑英 开课学期 2018 至 2019 学年第一 学期上课时间 2018 年 12 月 3 日学生实验报告学生姓名郑慧乐学号0174280同组人:略实验项目实验五 查找与排序必修 选修 演示性实验 验证性实验 操作性实验 综合性实验实验地点H113实验仪器台号略指导教师黄淑英实验日期及节次星期一下午三节课一、实验目的及要求:1、目的1进一步掌握有序顺序表的折半查找算法。2进一步巩固排序的算法,编写对20个及以上的无序数

2、据进行希尔排序和快速排序的实现程序。2、内容及要求1.建立一20个及以上数据的有序顺序表,表中可以仅存放记录的关键字,实现对该有序的折半查找算法,测试数据应充分考虑查找成功和查找不成功两种情况。2.建立一20个及以上数据的无序顺序表,表中可以仅存放记录的关键字,实现对该无序表进行希尔排序,给出每一趟希尔排序的结果。3.建立一20个及以上数据的无序顺序表,表中可以仅存放记录的关键字,实现对该无序表进行快速排序,给出每一趟快速排序的结果。2、仪器用具:DevC+3、实验方法与步骤:#includeusing namespace std;#define OK 1#define MAXSIZE 20t

3、ypedef int KeyType;typedef int InfoType;typedef struct KeyType key; InfoType otherinfo;RedType;typedef struct RedType RMAXSIZE + 1; int length;SqList;int Search_Bin (SqList ST, KeyType key) KeyType low, high, mid; low = 1; high = ST.length; while (low = high) mid = (low + high) / 2; if (key = ST.Rmi

4、d.key) return mid; else if (key ST.Rmid.key) high = mid - 1; else low = mid + 1; return OK;void ShellInsert (SqList &L, int dk) int i, j; for (i = dk + 1; i = L.length; +i) if (L.Ri.key 0 & L.R0.key L.Rj.key; j-= dk) L.Rj + dk = L.Rj; L.Rj + dk = L.R0; void ShellSort (SqList &L, int dt, int t) for (

5、int k = 0; k t; +k) ShellInsert (L, dtk); for (int i = 1; i = 20 ; i+) cout L.Ri.key ; cout endl; int Partition (SqList &L, int low, int high) KeyType pivotkey; L.R0 = L.Rlow; pivotkey = L.Rlow.key; while (low high) while (low = pivotkey) -high; L.Rlow = L.Rhigh; while (low high & L.Rlow.key = pivot

6、key) +low; L.Rhigh = L.Rlow; L.Rlow = L.R0; for (int i = 1; i = 20 ; i+) cout L.Ri.key ; cout endl; return low;void QSort (SqList &L, int low, int high) KeyType pivotloc; if (low high) pivotloc = Partition (L, low ,high); QSort (L, low, pivotloc - 1); QSort (L, pivotloc + 1, high); void QuickSort (S

7、qList &L) QSort (L, 1, L.length);int main () SqList ST, L1, L2; ST.length = 0; L1.length = L2.length = 0; int dt3 = 7, 5, 1, dk = 10, t = 3; int a, key; cout 请建立20个数据的有序顺序表: endl; for (int i = 1; i ST.Ri.key; ST.length +; for (int i = 1; i = 2; i+) cout 请输入想要查找的数值(折半查找): key; a = Search_Bin (ST, key

8、); if (ST.Ra.key = key) cout 数值 key 查找成功! endl; else cout 数值 key 查找失败! endl; cout 请建立20个数据的无序顺序表(输入数值): endl; for (int i = 1; i L1.Ri.key; L1.length +; cout 希尔排序结果为: endl; ShellInsert (L1, dk); ShellSort (L1, dt, t); cout 请建立20个数据的无序顺序表(输入数值): endl; for (int i = 1; i L2.Ri.key; L2.length +; cout 快速排序结果为: endl; QuickSort (L2);四、实验结果与数据处理: 五、讨论与结论InitList(SqList &L)可省,可以把RedType *R改成RedType RMAXSIZE + 1;for (int i = 1; i = 20 ; i+)cout L.ri.key ;在递归的快速排序中放置位置需正确,应放到枢轴位置后;折半查找的查找成功与不成功两种形式可以用if表示。六、指导教师评语及成绩:评语:指导教师依据学生的实际报告内容,用简练语言给出本次实验报告的评价和价值成绩: 指导教师签名: 批阅日期

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1