数据结构排序综合课程设计报告 2

数据结构排序综合课程设计报告 2

ID:14158031

大小:334.00 KB

页数:14页

时间:2018-07-26

数据结构排序综合课程设计报告 2_第1页
数据结构排序综合课程设计报告 2_第2页
数据结构排序综合课程设计报告 2_第3页
数据结构排序综合课程设计报告 2_第4页
数据结构排序综合课程设计报告 2_第5页
资源描述:

《数据结构排序综合课程设计报告 2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据结构》课程设计报告———排序综合专业信息管理与信息系统班级110514小组成员110514128汤文莹110514129王玉珏110514130张蓓蕾110514131张慕琦课程设计:排序综合一、任务描述(1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。(2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。二、问题分析1、模块功能分析结构体模块:在结构体中

2、定义数组,关键字为key,为整形。整数产生模块:MakeList(),自动产生20000以内的随机数,存入数组中。排序模块:有6个子函数分别代表6种排序方式,六种排序方式为(1)InsertSort()直接插入排序(2)BubleSort()冒泡排序(3)QuickSort()快速排(4)SeleSort()直接选择排序(5)ShellSort()希尔排序(6)HeapSort()堆排序显示模块:输出随机产生的整数,和排序后的整数。函数调用模块:在此模块中voidmain()定义结构体中的数据并调用所需子函数。2、数据

3、对象分析排序方式:直接插入排序、冒泡排序、快速排序、直接选择排序、希尔排序、堆排序显示排序后的的数据和时间效率。三、数据结构设计定义结构体typedefstruct{intkey;}RECNODE;叙述各种排序函数,并相应写出各种排序的算法及过程。定义数组的值,并输出所记录的值。按1~6数字键选择函数,可查找出各种排序的结果。输出排序结果及所用时间和交换次数按0键退出四、功能设计(一)主控菜单设计为实现排序的操作功能,首先设计一个含有多个菜单项的主控菜单程序,然后再为这些菜单项配上相应的功能。程序运行后,给出菜单项的内

4、容和输入提示,如下:************************菜单************************1---直接插入排序**2---冒泡排序**3---快速排序**4---直接选择排序**5---堆排序**6---希尔排序**0---退出***********************(二)程序模块结构由课题要求可将程序划分为以下几个模块(即实现程序功能所需的函数):l主控菜单项选择函数menu_select()lInsertSort()直接插入排序lBubleSort()冒泡排序lQuickSort

5、()快速排序lSeleSort()直接选择排序lShellSort()希尔排序lHeapSort()堆排序(三)函数调用关系程序的主要结构(函数调用关系)如下图所示。SeleSort其中main()是主函数,它进行菜单驱动,根据选择项1~0调用相应的函数。(四)函数实现#defineMAXSIZE20000#include#include#include#includetypedefstruct{intkey;}RECNODE;intb,t;

6、intMakeList(RECNODE*r){intj,k;time_tt1;/*用于存放时间*/time(&t1);/*取得当前系统时间*/srand(t1);for(k=0;k

7、;}voidDealoutList(RECNODE*r,intn){inti;printf("排序后的数据:");for(i=0;i

8、.key=i;j--)if(r[j+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。