- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构课程设计
课程设计题目:各种排序
姓名:学号:2011112212
班级:1122软件工程组长:李俊超
指导老师:解德祥
计算机与信息学院
设计题目
题目:各种排序
任务:实现各种排序并分别时行分析
要求:用随机数生成100个整数存入文本文件中,并对这些数进行多种方法进行排序。至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)并将结果存入另外的文本文件中。
二.运行环境(软、硬件环境)
操作系统Windows7
运行环境VisualC++6.0
算法设计的思想
大架构采用模块化编程的思想,将每个不同的功能分别写成不同的子程序,分别进行封装构成各个小的模块,最后将各个模块组合起来。在每个子程序的编写过程中特事特办面对不同的预想功能采取不同的数据结构不同的算法实现。总体算法思想为按功能分块,依照预想功能实现顺序拼装。具体思想请见流程图。
算法的流程图
产生100个随机数
产生100个随机数
把产生的随机数存入一个文本文档
把产生的随机数存入一个文本文档
将排序后的结果存入另一个文本文档中显示排序后的结果进入菜单选项,可选择四种排序方式中的一种选择排序快速排序插入排序冒泡排序
将排序后的结果存入另一个文本文档
中
显示排序后的结果
进入菜单选项,可选择四种排序方式中的一种
选择排序
快速排序
插入排序
冒泡排序
算法设计分析
程序总体采用模块化设计,程序间通过传参和调用进行有机组合。这样的总体布局将将各个功能隔离开来,每个模块负责每个模块的功能,使得程序的布局简单明了。且子程序只有在被调用时才会运行大大节约系统资源减少了运算时间。同时由于功能的隔离使得程序的扩展性大大提高,无论程序将要任何改动时,都会方便很多。具体实现如图:
工程一共包括9个文件,一个头文件“sort.h”,其中包括了对程序的预处理命令和程序将用到的所有函数的声明,其他8个文件分别是mian函数所在文件“sort.c”,显示数据函数实现的文件“Display.c”,文件保存函数实现的文件“save.c”,菜单函数实现的文件“Menu.c”,冒泡排序实现的文件“bubblesort.c”,插入排序实现的文件“inssort.c”,快速排序实现的文件“qksort.c”,选择排序实现的文件“selectsort.c”.
源代码
*************************【sort.h】***********************
#includestdlib.h
#includestdio.h
#includetime.h
#defineTRUE1
#defineFALSE0
longrdnum[100];
longsortednum[100];
FILE*fp1,*fp2;
charfname1[20];
charfname2[20];
voidSave(FILE*fp,charfname[],intdata[]);
voidbubblesort();
voidinssort();
intqkpass(intr[],intleft,intright);
voidqksort(intr[],intlow,inthigh);
voidselectsort();
voidDisplay(longdata[]);
voidMenu();
*************************【sort.c】***********************
#includesort.h
voidmain()
{
longi,rd;
printf(系统将如下产生100个随机数\n\n);
srand((unsigned)time(NULL));
for(i=0;i100;i++)
{
rd=rand();
rdnum[i]=rd;
}
for(i=0;i100;i++)
{
sortednum[i]=rdnum[i];
}
Display(rdnum);
Save(fp1,fname1,rdnum);
Menu();
printf(排序后结果为:\n\n);
Display(sortednum);
Save(fp2,fname2,sortednum);
}
***********************【Display.c】**********************
#includesort.h
vo
您可能关注的文档
最近下载
- 2023北京清华附中高三三模英语(教师版).pdf VIP
- 钢结构工程投标书范本1.doc
- 辅警招聘公安基础知识考试题库及答案(范文) .docx VIP
- ANSI ESD S20.20-2021(完整中文版本).docx
- 辅警招聘公安基础知识考试题库及答案【推荐】.docx VIP
- 苏教版六年级下册数学第三单元第1课《解决问题的策略(1)》课件(公开课).pptx VIP
- 沪教牛津版初中英语全册单词.pdf VIP
- 2024年天津市滨海新区中考一模英语试题(解析版).pdf VIP
- 幼儿园小班科学《春天来了》课件 优质课件.pptx VIP
- 湘科版2017科学四年级下册5.2控制电路的通断 课件.pptx
文档评论(0)