数据结构排序实验报告.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构排序实验报告.pdf》由会员分享,可在线阅读,更多相关《数据结构排序实验报告.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计报告数据结构课程设计报告实验五实验五 排序排序一、需求分析:一、需求分析:本演示程序用本演示程序用 C+6.0C+6.0 编写,完成各种排序的实现,对输入的一组数字实现不同的排序编写,完成各种排序的实现,对输入的一组数字实现不同的排序方法,对其由小到大顺序输出。方法,对其由小到大顺序输出。1 1分别对直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序算法分别对直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序算法进行编写。进行编写。2 2、对存储的函数即输入的数字进行遍历。、对存储的函数即输入的数字进行遍历。3 3、初始化函数对输入的数字进行保存。、初始化函
2、数对输入的数字进行保存。4 4、主函数实现使用者操作界面的编写,对输入、选择、保存、输出的各种实现。、主函数实现使用者操作界面的编写,对输入、选择、保存、输出的各种实现。这当中还包括了各个函数的调用的实现。这当中还包括了各个函数的调用的实现。5 5、程序所能到达的功能:完成对输入的数字的生成,并通过对各排序的选择实现、程序所能到达的功能:完成对输入的数字的生成,并通过对各排序的选择实现1数字从小到大的输出。数字从小到大的输出。二、程序主要功能以及基本要求:二、程序主要功能以及基本要求:1 1、设计一个菜单,格式如下:、设计一个菜单,格式如下:1 1、直接插入排序、直接插入排序2 2、希尔排序、
3、希尔排序3 3、冒泡排序、冒泡排序4 4、快速排序、快速排序5 5、选择排序、选择排序6 6、堆排序、堆排序7 7、退出、退出2 2、选择不同的菜单但进行相应的排序,并给出排序的关键字序列。、选择不同的菜单但进行相应的排序,并给出排序的关键字序列。三、系统框架图:三、系统框架图:本程序包含了本程序包含了 9 9 个函数,它们分别是:个函数,它们分别是:1 1、直接插入排序的算法函数、直接插入排序的算法函数 InsertSortInsertSort。2 2、希尔排序的算法函数、希尔排序的算法函数 ShellSortShellSort。3 3、冒泡排序算法函数、冒泡排序算法函数 BubbleSor
4、tBubbleSort。4 4、快速排序的算法函数、快速排序的算法函数 PartitionPartition。5 5、选择排序算法函数、选择排序算法函数 SelectSortSelectSort。6 6、堆排序算法函数、堆排序算法函数 HeapAdjustHeapAdjust。7 7、对存储数字的遍历函数、对存储数字的遍历函数 VisitVisit。8 8、初始化函数、初始化函数 InitSqListInitSqList。9 9、主函数、主函数 mainmain。主函数主函数各各个个排排序序算算法法函函数数对对入入数数进进遍遍初初化化输输的的组组行行历历始始操操作作界界面面的的设设计,计,函函
5、数数的的调用。调用。四、详细设计四、详细设计实现各个算法的主要内容,下面是各个函数的主要信息:实现各个算法的主要内容,下面是各个函数的主要信息:1 1各个排序函数的算法:各个排序函数的算法:2一、直接插入排序一、直接插入排序void InsertSort(SqList&L)void InsertSort(SqList&L)int i,j;int i,j;for(i=2;i=L.length;i+)for(i=2;i=L.length;i+)if(L.ri.key L.ri-1.key)if(L.ri.key L.ri-1.key)L.r0=L.ri;L.r0=L.ri;L.ri=L.ri-1;
6、L.ri=L.ri-1;for(j=i-2;(L.r0.key L.rj.key);j-)for(j=i-2;(L.r0.key L.rj.key);j-)L.rj+1=L.rj;L.rj+1=L.rj;L.rj+1=L.r0;L.rj+1=L.r0;二、希尔排序二、希尔排序void ShellSort(SqList&L)void ShellSort(SqList&L)int i,j;int i,j;int dk=1;/int dk=1;/增量增量while(dk=L.length/3)while(dk 0)while(dk0)dk/=3;/dk/=3;/减小增量减小增量for(i=dk;i=
7、L.length;i+)for(i=dk;i=dk)&(L.rj-dk.key L.r0.key)while(j=dk)&(L.rj-dk.key L.r0.key)L.rj.key=L.rj-dk.key;L.rj.key=L.rj-dk.key;j-=dk;j-=dk;L.rj.key=L.r0.key;L.rj.key=L.r0.key;三、冒泡排序三、冒泡排序void BubbleSort(SqList&L)void BubbleSort(SqList&L)int i,j;int i,j;for(i=0;iL.length-2;i+)for(i=0;iL.length-2;i+)int
8、 flag=1;int flag=1;for(j=0;jL.length-i-2;j+)for(j=0;j L.rj+1.key)if(L.rj.key L.rj+1.key)flag=0;flag=0;int temp;int temp;temp=L.rj.key;temp=L.rj.key;L.rj.key=L.rj+1.key;L.rj.key=L.rj+1.key;L.rj+1.key=temp;L.rj+1.key=temp;/假设无交换说明已经有序假设无交换说明已经有序if(flag=1)if(flag=1)break;break;4 四、快速排序四、快速排序int Partiti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 排序 实验 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内