数据结构实验报告排序算法

数据结构实验报告排序算法

ID:35227073

大小:143.00 KB

页数:6页

时间:2019-03-22

数据结构实验报告排序算法_第1页
数据结构实验报告排序算法_第2页
数据结构实验报告排序算法_第3页
数据结构实验报告排序算法_第4页
数据结构实验报告排序算法_第5页
资源描述:

《数据结构实验报告排序算法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《排序算法验证及评价》实验报告班级:10020801姓名:吴亮学号:2008302651电话:15191416617日期:2010.1.8(一)需求分析1、输入输出的形式:根据题目要求与提示输入以文件名,并用你选择的排序进行排序,再编辑以文件名,把你的排好序的文件放入该文件。2、程序所能达到的功能:程序对你的文件里的数据进行排序。3、测试数据:打开你编辑的文件,查看文件是否已排序。(二)概要设计一,前五种排序:1.基本操作:(1)快速排序函数intpartions(intl[],intlow,inthigh);交换顺序表中l[low...h

2、igh]的记录,使枢轴记录到位,并返回请其所在位置,此时在它之前(后)的记录均不大(小)于它,返回low值voidqsort(int*l,intlow,inthigh);交换顺序表中l[low...high]的记录,使枢轴记录到位,并返回请其所在位置,此时在它之前(后)的记录均不大(小)于它voidqsort(int*l,intlow,inthigh)对顺序表l中的子序列l[low...hing]作快速排序(2)希尔排序函数voidShellInsert(int*L,intdk);对顺序表做一趟希尔排序voidShellSort(int*L

3、,intdlta[],intt);按增量序列dlta[0...t-1]对顺序表l做希尔排序(3)锦标赛排序函数voidUpdateTree(int*tree,int*active,intpos);建立具有最大根的树voidTournamentSort(int*array,intlength);对array进行锦标赛排序(4)堆排序函数voidHeapAdjust(inth[],ints,intm);已知h[s...m]中记录的关键字除h[s]之外均满足堆的定义,本函数调整h[s]的关键字,使h[s...m]成为一个大顶堆voidheapso

4、rt(inth[]);对顺序表h进行堆排序(5)归并排序voidMerge(intarray[],intfirst,intmid,intlast);将有序表的SR[i...m]和SR[m+1...n]归并为有序的TR[i...n]void_MergeSort(int*array,intfirst,intlast);将SR[s...t]归并排序为TR1[s...t]voidMergeSort(int*array,intlength);对顺序表l进行排序2、       模块调用图:main()voidqsort(int*l,intlow,in

5、thigh)voidShellSort(int*L,intdlta[],intt);voidTournamentSort(int*array,intlength)voidheapsort(inth[])voidMergeSort(int*array,intlength)intpartions(intl[],intlow,inthigh);voidShellInsert(int*L,intdk)voidUpdateTree(int*tree,int*active,intpos)voidHeapAdjust(inth[],ints,intm)v

6、oidMerge(intarray[],intfirst,intmid,intlast)void_MergeSort(int*array,intfirst,intlast)                  二,基数排序(1)本实验用到了链表结构类型。typedefstruct{//静态链表的结点类型longkeys[MAX_NUM_OF_KEY];longkey0;intnext;}SLCell;typedefstruct{//静态链表类型SLCell*r;intkeynum;longrecnum;}SLList;(2)实验基本操作:vo

7、idCreatList_Sq(SLList&L,longk,long*a,long*b)构造一个的静态链表。voidRadixSort(SLList&L)L是采用静态链表表示的顺序表对L作基数排序,使得L成为按关键字自小到大的有序静态链表,L.r[0]为头结点voidDistribute(SLCell*r,inti,ArrType&f,ArrType&e)静态链表L的r域中记录已按(key[0],...,key[i-1])有序,本算法按第i个关键字key[i]建立RADIX个子表,使同一子表中记录的keys[i]相同,f[0..RADIX-

8、1]和e[0..RADIX-1]分别指向各子表中第一个和最后一个记录voidCollect(SLCell*r,inti,ArrType&f,ArrType&e)本算法按keys[

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

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

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