网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构课程设计--各种排序.doc

数据结构课程设计--各种排序.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

偶遇 + 关注
实名认证
内容提供者

个人介绍

1亿VIP精品文档

相关文档