欢迎来到天天文库
浏览记录
ID:9857073
大小:173.00 KB
页数:8页
时间:2018-05-12
《数据结构-希尔排序实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计实验报告题目:希尔排序实验报告课程:数据结构班级:096112学号:姓名:指导老师:目录一.概述二.总体设计方案三.详细设计四.程序的调试与运行结果五.课程设计心得一.概述希尔排序(Shell’Sort)又称“缩小增量排序”,它也是一种属于插入排序类的算法,但在实践效率上更快。基本思想:现将整个待排记录序列分成若干子序列分别进行直接排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。至此,希尔排序结束,整个序列的记录已按关键字非递减有序排序。二.总体设计方案在希尔排序中,子序列的构成不是简单地“逐段分割”,而是将相隔某个“增量”的记录组成一个子序列。希
2、尔排序算法的实现,不仅使自己进一步理解和掌握课堂上所学数据结构的知识,更开拓了自己的思维,增强了对C语言的理解和应用,规范了复杂程序设计的基本内容和设计方法,培养规范化软件设计的能力。在希尔排序中,要求实现数字正确排序后的输出。三.详细设计1.打开TC2.运行下面的代码(标清注释):#include#defineMAXE20//*线性表中最多元素的个数*//#defineN8//*规定线性表中元素个数为8*//TypedefintKeyType;Typedefstruct//*记录类型*//{KeyTypekey;//*关键字项*//}RecType;voidSh
3、ellSort(RecTypeR[],intn)//*希尔排序算法*//{inti,j,d,k;RecTypetemp;d=n/2;//*d的初始值n/2*//while(d>0){for(i=d;i=0&&R[j].key>R[j+d].key){temp=R[j];//*r[j]与r[j+d]交换*//R[j]=R[j+d];R[j+d]=temp;j=j-d;}}printf("d=%d:",d);//*输出每一趟的排序结果*//for(k=0;k4、%3d",R[k].key);printf("");d=d/2;//*递减增量d*//}}voidmain(){inti,k;inta[N];RecTypeR[MAXE];for(i=0;i5、//*输出排序后的结果*//for(k=0;k6、有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。1)在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固……通过这次课程设计之后,一定把以前所学过的知识重新温故。
4、%3d",R[k].key);printf("");d=d/2;//*递减增量d*//}}voidmain(){inti,k;inta[N];RecTypeR[MAXE];for(i=0;i5、//*输出排序后的结果*//for(k=0;k6、有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。1)在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固……通过这次课程设计之后,一定把以前所学过的知识重新温故。
5、//*输出排序后的结果*//for(k=0;k6、有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。1)在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固……通过这次课程设计之后,一定把以前所学过的知识重新温故。
6、有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。1)在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固……通过这次课程设计之后,一定把以前所学过的知识重新温故。
此文档下载收益归作者所有