排序算法应用(直接法、插入法、shell排序).doc_第1页
排序算法应用(直接法、插入法、shell排序).doc_第2页
排序算法应用(直接法、插入法、shell排序).doc_第3页
排序算法应用(直接法、插入法、shell排序).doc_第4页
排序算法应用(直接法、插入法、shell排序).doc_第5页
全文预览已结束

下载本文档

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

文档简介

编号:10计算机软件技术基础(VC)课程设计报告一、题目:排序算法应用二(直接法、插入法、shell排序)10二、设计思路1、总体设计1)分析程序的功能 实现的功能是将一组无序数列通过排序使其成为有序数列。分别使用直接法,插入法,shell法进行排序,并统计排序次数以及比较三种排序法的优劣。2)系统总体结构:设计程序的组成模块,简述各模块功能。 本程序由主函数,赋值函数,插入法函数,直接法函数,shell法函数五部分构成,主函数负责串联整个程序,各个分函数实现排序功能,并返回排序次数。2、各功能模块的设计:说明各功能模块的实现方法 主函数将各个分函数串联成为整个程序,经过函数调用,各个分函数实现排序功能。并将排序次数返回给主函数。3、设计中的主要困难及解决方案在这部分论述设计中遇到的主要困难及解决方案。1)困难1:将三种排序结果一起输出,而只进行一次输入。 解决方案:将输入的数组进行备份,存到一单独的数组中,每次排序完成后,将数组还原,然后再进行下一种排序。2)困难2:使用赋值函数进行赋值。 解决方案:新建一个源文件,将赋值函数编译在里面,然后再主函数中进行调用。4、你所设计的程序最终完成的功能1)说明你编制的程序能完成的功能 实现的功能是将一组无序数列通过排序使其成为有序数列。并统计排序次数,比较优劣。2)准备的测试数据及运行结果 准备的测试数据 12 32 6 98 44 55 225 36 运行结果 三、程序清单1、shell法.cpp文件清单int shell(int a,int n) int t,m,e=0;for(int H=5;H0;H-) m=1;while(m!=0)m=0;for(int I=0;In-H;I+) if(aIaI+H) e+=1; t=aI; aI=aI+H; aI+H=t;m+=1; return e;2、插入法.cpp文件清单int charu(int a,int n)int i,j,t,c=0;for(i=1;i=0&ajt;j-)aj+1=aj;c+=1;aj+1=t;return c;3、赋值.cpp文件清单#includevoid fuzhi(int a,int n)cout输入n个数:endl;for(int i=0;in;i+) int j=i+1;cout请输入第jai; 4、排序.cpp文件清单#include#includefile.hvoid main() int a50,b50;int n,c,d,e,i;coutn;fuzhi(a,n);for(i=0;in;i+)bi=ai;e=shell(a,n);coutendl;coutShell排序法排序后为:endl; for(i=0;in;i+)coutait;coutendl排序次数为:eendl;for(i=0;in;i+)ai=bi;d=zhijie(a,n);coutendlendl;cout直接排序法排序后为:endl; for(i=0;in;i+)coutait;coutendl排序次数为:dendl;for(i=0;in;i+)ai=bi;c=charu(a,n);coutendlendl;cout插入排序法排序后为:endl; for(i=0;in;i+)coutait;coutendl排序次数为:cendl;5.直接法.cpp文件清单int zhijie(int a,int n)int t,d=0;for(int w=0;wn-1;w+)for(int i=w+1;in;i+)if (awai)d+=1;t=aw;aw=ai;ai=t;return d;6.file.h文件清单 int shell(int a,int n);int charu(int a,int n);int zhijie(int a,int n);void fuzhi(int a,int n);四、对该设计题目有何更完善的方案1、对自己完成程序进行自我评价。 完成题目中的大部分要求,但其中还有许多不足之处,而且编程用的时间比较长,今后一定加强编程训练,提高能力。2、对课题提出更完善的方案 应该简化定义的变量,尽量使用较少的变量,是程序简单化。五、收获及心得体会1、通过本次课程设计,自己在哪些方面的能力有所提高。 通过本次课程设计,我觉得自己再C+知识和能力方面都有所提高,加强了我对C+这门课程的理解与认识。2、

温馨提示

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

评论

0/150

提交评论