




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验十四 实现希尔和快速排序 班级 计算机三班 姓名 尹亮 学号 2009131334 一、实验目的 熟悉希尔排序和快速排序的基本思想,掌握希尔排序和快速排序的操作过程及算法实现。 二、实验内容 输入待排数据元素序列,然后用希尔排序和快速排序法对其进行排序。 三、实验要点及说明 希尔排序是对直接插入排序的改进,其基本思想是:先将待排序记录序列分割成若干个“较稀疏的”子序列,分别进行直接插入排序。经过上述粗略调整, 整个序列中的记录已经基本有序,最后再对全部记录进行一次直接插入排序。具体实现时,首先选定两个记录间的距离d1,在整个待排序记录序列中将所有间隔为d1的记录分成一组,进行组内直接插入排序,然后再取两个记录间的距离d2d1,在整个待排序记录序列中,将所有间隔为d2的记录分成一组,进行组内直接插入排序,直至选定两个记录间的距离dt=1为止,此时只有一个子序列,即整个待排序记录序列。快速排序是由冒泡排序改进而得的。基本思想是:在待排序的n个记录中任取一个记录(通常取第一个记录),把该记录放入适当位置后,数据序列被此记录划分成两部分。所有关键字比该记录关键字小的记录放置在前一部分,所有比它大的记录放置在后一部分,并把该记录排在这两部分的中间(称为该记录归位),这个过程称作一趟快速排序。程序代码:#include#define MAXE 20typedef int keytype;typedef char infortype10;typedef struct keytype key;infortype data;rectype;void shellsort (rectype r,int n)int i,j,d,k;rectype temp;d=n/2;while(d0)for(i=d;i=0&rj.keyrj+d.key)temp=rj;rj=rj+d;rj+d=temp;j=j-d;printf( d=%d: ,d);for(k=0;kn;k+)printf(%3d,rk.key);printf(n);d=d/2;void quicksort(rectype r,int s,int t)int i=s,j=t,k;rectype temp;if (si&rj.keytemp.key)j-;if(ij)ri=rj;i+;while (ij&ri.keytemp.key)i+;if(ij)rj=ri;j-;ri=temp;printf( );for(k=0;k10;k+)if(k=i)printf(%d,rk.key);elseprintf(%4d,rk.key);printf(n);quicksort(r,s,i-1);quicksort(r,i+1,t);void main()int i,k,n=10; keytype a=9,8,7,6,5,4,3,2,1,0; rectype rMAXE;printf(希尔排序:n) ;for(i=0;in;i+)ri.key=ai;printf(n);printf( 初始关键字);for(k=0;kn;k+)printf(%3d,rk.key);printf(n);shellsort(r,n);printf( 最后结果 );for(k=0;kn;k+)printf(%3d,rk.key);printf(nn); printf(快速排序:n); for(i=0;in;i+)ri.key=ai;printf(n);printf( 初始关键字);for(k=0;kn;k+)printf(%4d, rk.key); printf(n);quicksort(r,0,n-1);printf( 最后结果 );for(k=0;kn;k+)printf(%4d,rk.key);printf(nn);四 测试结果五 算法思想希尔排序:将人rd.n-1分别插入各组当前有序区中,将r j 与r j+d j交换,输出每一趟的排序结果,递减增量d。快速排序:区间内至少在一个元素的情况,用区间的第一个记录作为基准,从区间两端交替向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》通关练习试题附参考答案详解【考试直接用】
- 空间分析考试题及答案
- 客服转正考试题及答案
- 炼钢工内部技能考核试卷及答案
- 燃气储运工技术考核试卷及答案
- 铝电解筑炉工岗位操作技能考核试卷及答案
- 铝电解工质量追溯知识考核试卷及答案
- 拖拉机燃油喷射系统装试工抗压考核试卷及答案
- 球团原料工标准化作业考核试卷及答案
- 固体废物监测员职业技能考核试卷及答案
- 苏教版(2024年新教材)七年级上册生物全册教案
- 自动售货机投放合作合同2024版
- 2021上半年盐城市东台市城投集团试题
- 医院院感检查表格全套汇总
- 动漫手办制作课
- 《现代控制理论》(刘豹-唐万生)
- 食品包装用纸盒企业标准
- 12D10 防雷与接地工程
- 小学生作文方格纸A4纸直接打印版
- 力量训练原理与实践
- 中医绝技临床实战特效绝活
评论
0/150
提交评论