数据结构排序综合课程设计报告_2 (1).doc

数据结构排序综合课程设计报告_2 (1).doc

ID:35807767

大小:335.00 KB

页数:14页

时间:2019-04-19

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

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

1、《数据结构》课程设计报告———排序综合专业通信工程班级11302小组成员柯愈来课程设计:排序综合一、任务与要求本案例要求能够产生20000个以上随机证书,并对这些证书采取多种方法进行排序,并显示排序结果,比较各种算法的效率。(1)为了提高效率,所产生的随机证书用文件保存,供各排序算法共用;(1)为了更好地进行比较,采取3种以上方法实现排序,并分别保存排序结果;(2)记录每种排序所耗费的时间;(3)比较各种排序算法的效率,得出效率最高者,分析该算法效率高的原因。二、问题分析1、模块功能分析结构体模块:在结构体

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

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

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

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

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

7、"%d",r[i+1].key);printf("");}voidDealoutList(RECNODE*r,intn){inti;printf("排序后的数据:");for(i=0;i

8、;i<=n;i++){r[0]=r[i];j=i-1;while(r[0].key=i;j--)if(r[j+1].ke

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

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

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