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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(冒泡法与选择法排序效率比较.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

冒泡法与选择法排序效率比较.docx

1、冒泡法与选择法排序效率比较 课程设计 学 号班 级姓 名 指导教师 2008年 3月 7 日 课程设计任务书一、课程设计题目: 冒泡法与选择法排序效率比较二、课程设计工作自2008年3月3日至2008年3月10日止三、课程设计容: 用C语言编写软件完成一下任务: 比较“冒泡排序”和“选择排序”两种排序方法。完成同样的工作,一个算法的时间效率越高(使用的时间越少),越容易受欢迎。假设算法的时间主要消耗在两个方面:赋值运算,比较运算。请用程序读取给定的数据(file24.txt,由教师提供)后,分别使用“冒泡排序”和“选择排序”两种方法进行排序,并分别统计出各自需要的“赋值运算次数”和“比较运算次

2、数”,从而对它们的时间效率进行初步评价。四、课程设计要求1. 程序质量:贯彻结构化的程序设计思想。用户界面友好,功能明确,操作方便。用户界面中的菜单至少应包括“读取数据”、“冒泡法排序”、“选择法排序”、“退出”4项。代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿),其容下:封面课程设计任务书目录需求分析(分析题目的要求)程序流程图(总体流程图和主要功能模块流程图)核心技术的实现说明及相应程序段个人总结参考资料源程序及适当的注释指导教师: 学生签名:_一、需求分析经过对程序题目的分析可知,整个程序分为四大部分。每一部分

3、对应一个函数。它们的功能分别是:文件装载(read);冒泡法排序(maopao);选择法排序(xuanze);效率比较主函数(main)。1文件装载函数 实现装载所给文件,读取文件所给数值。2冒泡法排序函数 主要实现数据的冒泡法排序和赋值运算与比较运算的次数。3选择法排序函数 主要实现数据的选择法排序和赋值运算与比较运算的次数。4效率比较主函数 实现冒跑法排序与选择法排序效率比较 与界面显示。二、程序流程图1、冒泡排序法流程图2、选择法排序流程图3、文件装载流程图4、排序效率比较模块的流程图三、核心技术的实现说明及相应程序段本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单形式调用三

4、个自定义函数来实现所有功能。其中冒泡法排序函数与选择法排序函数是核心部分。现分别进行说明:1文件装载函数该函数用于打开指定文件,以便下面的程序段使用其中的数据.其过程是定义一个文件指针,并使之指向指定的文件,然后用fopen函数打开文件.这样文件就装载完毕.具体程序段如下:#include struct uint num; u10;void read() / 声明read函数/ int i; FILE *fp; if(fp=fopen(d:file24.txt,r)=NULL) /打开文件“file24.txt”/ printf(文件打开失败n); return; for(i=0;i10;i+

5、) /构成循环/ fscanf(fp,%6d,&ui.num); fclose(fp); /关闭文件/2 .冒泡法排序函数 该函数对指定数据排序.通过两次循环,依次比较两相邻数据之后替换.直至循环完毕. 这时排序完毕.具体函数段如下:maopao() /冒泡法排序/int i,j,t,a=0,b=0;read(); for (j = 0; j 9; j+) for (i = 0; i 9-j; i+) if (ui.num 0;j-) min=j; a+; for(i=0;i=j;i+) if(ui.numumin.num) min=i; a+; b+; t=umin.num; a+; umi

6、n.num=uj.num; a+; uj.num=t; a+; printf(选择法:赋值运算%d次,比较运算%d次n,a,b); return(a+b); /返回运算次数/ 四、个人总结一个星期的课程设计结束了,在这几天的学习过程中我学到了很多,让我对C+和WORD的使用更加的了解和熟练。在实践的过程中让我体会到了挫折与失败的滋味,同时也让我体会到了成功的喜悦。 在编写程序时遇到了很多的困难,但这些并不能阻止我要写好程序的决心,俗话说:“只有功夫深,铁杵磨成针”。在我不懈的努力和老师的帮助下,一个个困难被我征服,一个崭新的程序完成了。 看着程序的完成心里有说不出的高兴,那是成功的喜悦。我相信

7、通过这次实践我学到的所有知识将会收益终生。五、参考文献1 谭浩强C程序设计:清华大学,20052 成等C语言程序设计实验指导与习题集:中国铁道,2006六、源程序#include struct uint num; u10;void read() int i; FILE *fp; if(fp=fopen(d:file24.txt,r)=NULL) printf(文件打开失败n); return; for(i=0;i10;i+) fscanf(fp,%6d,&ui.num); fclose(fp);maopao()int i,j,t,a=0,b=0;read(); for (j = 0; j 9;

8、 j+) for (i = 0; i 9-j; i+) if (ui.num 0;j-) min=j; a+; for(i=0;i=j;i+) if(ui.numumin.num) min=i; a+; b+; t=umin.num; a+; umin.num=uj.num; a+; uj.num=t; a+; printf(选择法:赋值运算%d次,比较运算%d次n,a,b); return(a+b);void main() int i,a=0,b=0; char e; printf(-n); printf(-n); printf(-欢迎使用冒泡选择比较程序-n); printf(-l 装载文

9、件file24.txt-n); printf(-a 使用冒泡法排-n); printf(-b 使用选择法排序-n); printf(-c 比较两种排序方法的效-n); printf(-q 退出-n); printf(-n); for(;) scanf(%c,&e); if(e=l) read(); printf(nfile24.txt文件装载成功,其中数据为:n); for(i=0;i10;i+) printf(%d,ui.num); printf(n); else if(e=a) a=maopao(); printf(数据排序成功,排序结果为:n); for(i=0;i10;i+) printf(%d,ui.num); printf(n); else if(e=b) b=xuanze(); printf(数据排序成功,排序结果为:n); for(i=0;i10;i+) printf(%d,ui.num); printf(n); else if(e=c) if(ab&a!=0&b!=0) printf(选择排序法效率高n); else printf(请先运行两种排序方法n); else if(e=q) printf(n-程序结束-n); break;

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

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