ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:109.90KB ,
资源ID:22873246      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22873246.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计综合排序Word格式文档下载.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计综合排序Word格式文档下载.docx

1、 群二一五年 五月 二十 日1需求分析1.1 任务与分析任务:利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。要求:1) 至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。2) 统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。分析:本系统实现了几种常用的排序方法,包括:插入排序、起泡排序、快速排序(递归、非递归)、堆排序。1.2 功能模块的划分1.2.1 输入模块利用随机函数产生N个随机整数(20000以上),个

2、数由用户自己输入。1.2.2输出模块输出排序前或排序后的数据元素到屏幕显示,并且输出按照选择的算法排序后的数据元素到文件中保存。1.2.3输出结论比较不同排序时间长短,输出两种最快的排序方法。1.2.4排序模块插入排序思路:设有一组关键字K1,K2,.,Kn,排序开始变认为K1是一个有序的序列,让K2插入到表长为1的有序序列,使之成为一个表长为2的有序序列, 让K3插入到表长为2的有序序列,使之成为一个表长为3的有序序列,依次类推,最后让Kn插入上述表长为n-1的有序序列,得到一个表长为n的有序序列.冒泡排序如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次两两比较,在第j趟比较

3、中要进行n-j次两两比较简单选择排序通过n-I次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换之2概要设计2.1程序结构框图2.2程序流程图2.3头文件 #includestdlib.hcstdlibtime.h2.5各种操作函数:(1)创建一个数组函数:(2)输出数组函数:( 3 ) 简单选择排序(4)插入排序函数:(5)起泡排序函数:(6)时间函数:start = clock();end = clock();2.6主函数Void main()接受命令(选择要执行的操作);处理命令;输出结果;3 详细设计#define N 30001void main()int

4、 i,j,n,k;int n1,t;int aN,bN,c3,d3;clock_t start,finish;int time1,time2,time3;输入设计printf(*数据结构排序综合*n);n输入要产生的随机数个数:scanf(%d,&n);srand(unsigned)time(NULL);for(i=0;it & j=0)bj+1=bj;j-;if(j!=(i-1) /第i个数字比前面的都大,不需要重新插入bj+1=t;for(i=n-1;i=0;i-)%d ,bi);finish=clock();c0=finish-start;n插入排序耗时%d毫秒!nnn,c0);/起泡排

5、序i+)bi=ai;-nt起泡排序nn1=n-1;while(n10)j=0;if(bibi+1)bi=bi+1;bi+1=t;j=i;n1=j;,t);c1=finish-start;n起泡排序耗时%d毫秒!,c1);/简单选择排序-nt简单选择排序nk=n-1;for(j=k-1;ji-1;j-)if(bjbk)k=j;if(k!=i-1)t=bi-1;bi-1=bk;bk=t;c2=finish-start;n简单选择排序耗时%d毫秒!,c2);/寻找两种最快方法3;di=ci;for(j=i+1;jdj)t=di;di=dj;dj=t;/ printf(排序这组数据最快的两组排序法是:

6、nif(d0=c0)插入排序:%d毫秒n,d0);if(d0=c1)起泡排序:if(d0=c2)简单选择排序:if(d0!=d1)if(d1=c0),d1);if(d1=c1)if(d1=c2)4调试结果 数据由系统随机产生,不需要输入测试数据,产生数据元素的个数由用户输入。6课程设计总结通过这次课程设计的学习让我学会了许多,加深了对数据结构排序算法的认识。在这次课程设计中,独立完成了每种排序算法。排序算法选了三个,包括:插入排序、气泡排序、简单选择排序。同时也实现了随机数的生成。虽然在算法完成的过程中从网上参考了一些资料,但对这次课程设计的成果还是非常满意的。这次的课程设计还有很多不足之处。

7、有些排序方法没有些,像堆排序了,快序排序了。还有就是最后寻找两种最坏的方法时花了很多时间,想了几种方法,开始用结构体,但发现太麻烦了,所以改用了上述方法。由于时间限制,只在课程设计快结束时完成了产生随机文件这部分,我想以后有时间再来完成它。同时在完成这个课程设计后,我也学到了很多知识,并能训练的掌握他们了。首先学会了随机数的产生。熟练的撑握了C语言的文件读写操作。撑握了每种排序算法的基本思想,并从同学那里学会了编写程序的一般步骤:思考问题,写出解决方案,写出伪代码,完成代码,调试程序。不像以前那样开始就直接写代码。当然,还包括如何写出操作简便,感觉友好的界面。但我还是认为自己还有很多不足,希望以后能弥补。参考书目1 数据结构(C语言版)。严蔚敏,清华大学出版社2 数据结构习题集(C语言版)。3 C语言课程设计案例精编。郭翠英,中国水利出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1