希尔排序问题实验报告.doc_第1页
希尔排序问题实验报告.doc_第2页
希尔排序问题实验报告.doc_第3页
希尔排序问题实验报告.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

希尔排序问题摘要:void ShellInsert为希尔排序函数,主要功能为实现对数的排序,srand为系统中的随机函数,需要根据输入的种子值,得出最终的随机数。关键词:SqList,void ShellInsert,seed,srand,dk1. 问题分析利用随机函数产生N个随机整数(10个以上),对这些数进行从小到大的排序,此外至少采用3次缩小增量。2. 概要设计3.详细设计首先是对于随机函数的程序编写,要产生10个以上的随机数,要求用户通过键入所需随机数的个数来控制所求的随机数数量,并且同时将所得的随机数记录到数组r中.其次要求用希尔排序的算法对于无序的随机数进行从小到大的排列,并且要求采用至少3次缩小增量,用户可以根据自身的需要对于缩小增量进行定义并键入,然后通过调用希尔排序函数实现最终的排序功能.主要代码如下:最终通过输出语句,显示每趟经过希尔排序得出的结果。4.调试分析图4_1 随机函数产生随机数图4_2 根据用户的需求输入缩小增量图4_3 根据输入的缩小增量对于无序随机数进行希尔排序5.课程实验小结 关于希尔排序,最关键的是深刻了解每一趟的排序过程,希尔排序又称“缩小增量排序”,它也是一种属插入排序类的方法,但在时间效率上较其他几种排序方法有较大的改进。希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。希尔排序的一个特点是:子序列的构成不是简单地“逐段分割”,而是将相隔某个“增量”的记录组成一个子序列。虽然本次课程实验中,增量序列可以有各种取法,但需注意:应使增量序列中的值没有除1之外的公因子,并且最后一个增量值必须等于1.参考文献:1严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社,1997,4:264,271-272.2李含光,郑关胜.C语言程序设计教程.清华大学出版社,20011,1:108-114.3C语言随机函数./link?url=2pddDvMYHRHH9qVl0-CHnvY1KfENbdLcPuMRqSTpxDMJ8z1-GqZ-CNkSlTXGkZKT.2013年12月25日访问4希尔排序/link?url=rs0a3W-teVl45ijex-9SbsOJcIrjTbC5y8ETUkxfiTtUAAuwg36-cCRsWIwpM5I5.2013年12月26日访问5希尔排序法./link?url=xf3XOyxgBTlS36sk1x4RVbukAAf2MtJMBEga7VGCZ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论