欢迎来到天天文库
浏览记录
ID:9290930
大小:131.50 KB
页数:18页
时间:2018-04-26
《数据结构课程设计---希尔排序,冒泡排序,快速排序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构课程设计设计说明书希尔排序,冒泡排序,快速排序学生姓名:*****学生学号:2009070142**指导教师:*****所在班级:09级电信2班成绩打分:信息与工程学院2011年6月25日课程设计任务书2010—2011学年第二学期专业:电子信息工程学号:姓名:课程设计名称:数据结构课程设计设计题目:简单数据的排序设计依据、要求及主要内容(可另加附页):要求:1.要有较好的界面,能够进行三种算法的选择。2.每一种算法要求有实现的过程,即能看到运行的步骤。3.对于同一组数据进行三种算排序后,应给出相应的效
2、率评估,确定最适合的算法。4.要求有良好的编程风格和注释。指导教师(签字):批准日期:年月日摘要本设计采用VC作为开发工具,通过希尔排序、冒泡排序与快速排序方法来实现一系列数据结构的排序工作。三种方法思路不同,方法各异,体现了排序的多样性。通过这次课程设计,使我们了解更多的排序知识,了解课设的有关程序过程,以掌握更多的排序方法。关键词:C语言;排序目录1课题描述……………………………………………………………………………。。。12逻辑设计……………………………………………………………………………23详细设计………
3、………………………………………………………………………44程序代码……………………………………………………………………………65程序调试与测试………………………………………………………………………126总结……………………………………………………………………………………14参考文献………………………………………………………………………………151课题描述1.1课题的现实意义现实学习生活中,常会遇到一些数目较大数据繁杂的数值进行排序,徒手进行排序很困难,这时候我们就希望有一个小软件来帮忙,所以便着手开发了这个对数
4、据进行有序排序的程序,以便用于自己的学习工作。这些大大方便了我们的生活给我们更多的选择和实现方式。这个程序可以直接输入多个数据,不需要任何转换,就可以直接输出这些数据排序后的结果并输出移动的次数。并且从操作简单、界面清晰、灵活、实用、方便等要求出发,它所能完成的主要计算功能有以下几个方面:冒泡排序,快速排序,希尔排序。计算器的设计使我们所学到的c语言知识在现实中得到检验!信息时代是科技和经济发展的产物,软件产业是信息时代的产物,它在我们的生活工作中发挥着越来越大的作用,这个排序程序的设计对我们知识的掌握有很大的
5、作用,更能方便他人,可行性很强!1.2软件环境开发环境:visualc++6.0+WindowsXP操作系统2逻辑设计2.1总设计步骤总的设计过程不是很难,但是由于在编程过程中有的粗心大意,或是外部客观条件,造成了调试很多次。但最终在老师的帮助下完成了设计。第一、在纸上列出提纲,把具体大概的设计思路用伪代码写出。第二、编写代码,把各个函数分别编写出来,快速排序,冒泡排序,希尔排序……。第三、程序上机运行,查找错误。第四、错误代码的分析。查找原因。第五、调试。对于运行成功的代码进行测试,看是否符合题目要求。使用多
6、组数据进行测试。直至不存在着偶然性。第五、总结。过程当中有许多库函数的调用,使用过程中让我们对C语言函数的深刻了解。第六、编写报告书。编写报告书的过程有些复杂,由于在实践过程当中的每一步都要用再次的实现,并用书面报告提交。但是这个充分的是我们对这个编程的理解。2.2三个主要函数的设计原理:(1)快速排序基本思路:通过一次分割,将无序序列分成两部分,其中一部分的元素值均不大于后一部分的元素值。然后用同样的方法对每一部分进行分割,一直到每一个子序列的长度小于或等于1为止。15具体过程:设序列P进行分割。首先,从第一
7、个、中间一个、最后一个元素中选出中项,设为P[k],并将P[k]赋给t,再将序列中的第一个元素移到P[k]的位置上。然后,再设两个指针i、j分别指向起始和最后位置上:(1)将i逐渐增大,与此同时比较P[i]与t的大小,直到发现P[i]>t,将P[i]移到P[j]的位置上;(2)将j逐渐减小,与此同时比较P[j]与t的大小,直到发现P[j]8、的各元素从头到尾依次依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有N个元素,那么一共要进行n-1轮比较,第I轮要进行j=n-i次比较。(如:有5个元素,则要进行5-1轮比较。第3轮则要进行5-3次比较)(3)希尔排序基本思想:将整
8、的各元素从头到尾依次依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有N个元素,那么一共要进行n-1轮比较,第I轮要进行j=n-i次比较。(如:有5个元素,则要进行5-1轮比较。第3轮则要进行5-3次比较)(3)希尔排序基本思想:将整
此文档下载收益归作者所有