云林宏仑国小办理102年教师专业学习社群-精进特色课程

云林宏仑国小办理102年教师专业学习社群-精进特色课程

ID:11815651

大小:249.50 KB

页数:26页

时间:2018-07-14

云林宏仑国小办理102年教师专业学习社群-精进特色课程_第1页
云林宏仑国小办理102年教师专业学习社群-精进特色课程_第2页
云林宏仑国小办理102年教师专业学习社群-精进特色课程_第3页
云林宏仑国小办理102年教师专业学习社群-精进特色课程_第4页
云林宏仑国小办理102年教师专业学习社群-精进特色课程_第5页
资源描述:

《云林宏仑国小办理102年教师专业学习社群-精进特色课程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.数据结构课程设计报告几种排序算法的演示班级:姓名:学号:完成日期:一需求分析1.运行环境MicrosoftVisualStudio20082.程序所实现的功能对直接插入排序、折半插入排序、冒泡排序、简单选择排序、快速排序、堆排序、归并排序算法的演示,并且输出每一趟的排序情况。3.程序的输入(包含输入的数据格式和说明)<1>排序种类三输入<2>排序数的个数的输入<3>所需排序的所有数的输入4.程序的输出(程序输出的形式)<1>主菜单的输出<2>每一趟排序的输出,即排序过程的输出5.测试数据,如果程序输入的数据量比较大,需要给出测试数据

2、。二设计说明1.算法设计思想<1>交换排序(冒泡排序、快速排序)交换排序的基本思想是:对排序表中的数据元素按关键字进行两两比较,如果发生逆序(即排列顺序与排序后的次序正好相反),则两者交换位置,直到所有数据元素都排好序为止。<2>插入排序(直接插入排序、折半插入排序)插入排序的基本思想是:每一次设法把一个数据元素插入到已经排序的部分序列的合适位置,使得插入后的序列仍然是有序的。开始时建立一个初始的有序序列,它只包含一个数据元素。然后,从这个初始序列出发不断插入数据元素,直到最后一个数据元素插到有序序列后,整个排序工作就完成了。<3>选

3、择排序(简单选择排序、堆排序)选择排序的基本思想是:第一趟在有n个数据元素的排序表中选出关键字最小的数据元素,然后在剩下的n-1个数据元素中再选出关键字最小(整个数据表中次小)的数据元素,依次重复,每一趟(例如第i趟,i=1,…,n-1)总是在当前剩下的n-i+1个待排序数据元素中选出关键字最小的数据元素,作为有序数据元素序列的第i个数据元素。等到第n-1趟选择结束,待排序数据元素仅剩下一个时就不用再选了,按选出的先后次序所得到的数据元素序列即为有序序列,排序即告完成。<4>归并排序(两路归并排序)两路归并排序的基本思想是:假设初始排

4、序表有n个数据元素,首先把它看成是长度为1的首尾相接的n个有序子表(以后称它们为归并项),先做两两归并,得n/2上取整个长度为2的归并项(如果n为奇数,则最后一个归并项的长度为1);再做两两归并,……,如此重复,最后得到一个长度为n的有序序列。..2.程序的主要流程图退出系统输出排序结果开始直插折半冒泡选择快排堆排归并选择排序方法进入主菜单3.程序的主要模块(要求对主要流程图中出现的模块进行说明)程序的主要模块主要分为主菜单模块和排序算法演示模块。<1>主菜单主要功能:程序运行时,可使运行者根据提醒输入相关操作,从而进入不同的排序方法

5、或者退出。<2>排序方法及输出根据运行者对排序的不同选择,进入排序过程a.直接插入排序:根据直接排序的算法,输出排序过程b.折半插入排序:根据折半插入的算法,输出排序过程c.冒泡排序:根据冒泡排序算法,输出排序过程d.简单选择排序:根据简单选择排序的算法,输出排序过程..e.快速排序:根据快速排序的算法,输出排序过程f.堆排序:根据堆排序的算法,输出排序过程g.归并排序:根据归并排序的算法,输出排序过程4.程序的主要函数及其伪代码说明<1>模板类主要说明程序中用到的类的定义templateclasssortlis

6、t{private:intcurrentsize;//数据表中数据元素的个数public:type*arr;//存储数据元素的向量(排序表)sortlist():currentsize(0){arr=newtype[maxsize];}//构造函数sortlist(intn){arr=newtype[maxsize];currentsize=n;}voidinsert(inti,typex){arr[i]=x;}~sortlist(){delete[]arr;}//析构函数voidswap(type&x,type&y)//数据元素x和

7、y交换位置{typetemp=x;x=y;y=temp;}voidbubblesort();//冒泡排序voidquicksort(intlow,inthigh);//快速排序voidinsertionsort();//直接插入排序voidbinaryinsertsort();//折半插入排序voidselectsort();//简单选择排序voidheapsort();//堆排序voidmergesort(sortlist&table);//归并排序voidfilterdown(constintstart);//建立最大

8、堆voidmergepass(sortlist&sourcetable,sortlist&mergedtable,constintlen);//一趟归并voidmerge(sortlist

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

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

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