北京理工大学数据结构实验报告4

北京理工大学数据结构实验报告4

ID:18844688

大小:66.50 KB

页数:11页

时间:2018-09-26

北京理工大学数据结构实验报告4_第1页
北京理工大学数据结构实验报告4_第2页
北京理工大学数据结构实验报告4_第3页
北京理工大学数据结构实验报告4_第4页
北京理工大学数据结构实验报告4_第5页
资源描述:

《北京理工大学数据结构实验报告4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据结构与算法统计》实验报告——实验四学院:班级:学号:姓名:11一、实验目的1、熟悉VC环境,学会使用C语言利用顺序表解决实际问题。2、通过上机、编程调试,加强对线性表的理解和运用的能力。3、锻炼动手编程,独立思考的能力。二、实验内容从键盘输入10个数,编程实现分别用插入排序、交换排序、选择排序算法进行排序,输出排序后的序列。三、程序设计1、概要设计为了实现排序的功能,需要将输入的数字放入线性表中,进行进一步的排序操作。(1)抽象数据类型:ADTSqList{数据对象:D=数据关系:R1=基本操作:InPut(S

2、qList&L)操作结果:构造一个线性表L。OutPut(SqListL)初始条件:线性表L已存在。操作结果:按顺序在屏幕上输出L的数据元素。InsertSort(SqList&L)初始条件:线性表L已存在。操作结果:对L的数据元素进行插入排序。QuickSort(SqList&L)初始条件:线性表L已存在。操作结果:对L的数据元素进行快速排序。SelectSort(SqList&L)初始条件:线性表L已存在。操作结果:对L的数据元素进行选择排序。}ADTSqList⑵主程序流程由主程序首先调用InPut(L)函数创

3、建顺序表,调用InsertSort(L)函数进行插入排序,调用OutPut(L)函数显示排序结果。再由主程序首先调用InPut(L)函数创建顺序表,调用QuickSort(L)函数进行交换排序,调用OutPut(L)函数显示排序结果。再由主程序首先调用InPut(L)函数创建顺序表,调用SelectSort(L)函数进行选择排序,调用OutPut(L)函数显示排序结果。⑶模块调用关系11由主函数模块调用创建顺序表模块,排序模块与显示输出模块。⑷流程图开始结束创建线性表创建线性表创建线性表进行插入排序进行交换排序进行选

4、择排序输出排序结果输出排序结果输出排序结果2、详细设计(1)数据类型设计#defineMAXSIZE15//用作示例的小顺序表的最大长度typedefstruct{intkey;//关键字项intotherinfo;//其它数据项}RedType;//记录类型11typedefstruct{RedTyper[MAXSIZE+1];//r[0]闲置或用作哨兵单元intlength;//顺序表长度}SqList;//顺序表类型(2)操作算法设计voidInPut(SqList&L)//输入数字,创建顺序表{inti;pr

5、intf("请输入10个数字:");L.length=10;for(i=1;i<=L.length;i++){scanf("%d",&L.r[i].key);}}voidInsertSort(SqList&L)//对顺序表L作直接插入排序{inti,j;for(i=2;i<=L.length;i++){if(L.r[i].key

6、j=i-2;L.r[0].key

7、key=L.r[low].key;//枢轴记录关键字while(low=pivotkey){--high;//将比枢轴记录小的记录移到低端}L.r[low].key=L.r[high].key;while(low

8、ey;//枢轴记录到位returnlow;//返回枢轴位置}voidQSort(SqList&L,intlow,inthigh)//对顺序表L中的子序列L.r[low…high]作快速排序{intpivotloc;if(low

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

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

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