数据结构实验报告(实验十七).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验报告(实验十七)

深 圳 大 学 实 验 报 告 课程名称: 数据结构实验与课程设计 实验项目名称: 希尔排序 学院: 计算机与软件学院 专业: 指导教师: 蔡平 报告人: 文成 学号: 2011150259 班级: 5 实验时间: 2012-12-17 实验报告提交时间: 2012-12-24 教务部制 一、实验目的与要求: 目的: 掌握哈希排序算法原理 2.掌握哈希排序算法的实现方法 要求: 1.熟悉C++语言编程 2.熟练编程实现哈希算法 实验内容: 问题 A: 数据结构实验--希尔排序 题目描述 给出一个数据序列,使用希尔排序算法进行从小到大的排序 间隔gap使用序列长度循环除2直到1 输入 第一行输入t,表示有t个测试示例 第二行输入n,表示第一个示例有n个数据 第三行输入n个数据,都是正整数,数据之间用空格隔开 以此类推 输出 每行输出每个示例排序后,从小到大的结果 样例输入 2 6 111 22 6 444 333 55 8 77 555 33 1 444 77 666 2222 样例输出 6 22 55 111 333 444 1 33 77 77 444 555 666 2222 实验步骤与过程: 希尔排序是一种按照增量排序的方法。其中增量值是小于n的正整数。 shell排序的基本思想是: ? ? 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2d1重复上述的分组和排序,直至所取的增量dt=1(dtdt-l…d2d1),即所有记录放在同一组中进行直接插入排序为止。 #includeiostream using namespace std; int ShellSort(int array[],int n) { int gap,i,j; for(gap=n/2;gap=1;gap--) { for(i=0;igap; i++) { for(j = i+gap; jn; j=j+gap) { if(array[j]array[j-gap]) { int temp = array[j]; int k = j-gap; while(k=0 array[k]temp) { array[k+gap] = array[k]; k = k-gap; } array[k+gap] = temp; } } } } return 0; } int main() { int testnum,i,j; cintestnum; for(i=0;itestnum;i++) { int num; cinnum; int *array=new int[num]; for(j=0;jnum;j++) cinarray[j]; ShellSort(array,num); for(j=0;jnum;j++) coutarray[j] ; coutendl; } return 0; } 四、实验结果及数据处理分析: A: 实验

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档