版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告-排序本章共8道实验题目。一、直接插入排序1.定义顺序表的存储结构2.初始化顺序表为空表3.输入10个元素创建含有10个元素的顺序表4.输出顺序表5.对顺序表进行直接插入排序(InsertSort)6.输出排序后的顺序表例如:1193866950711726170834330060211938669507117261708343300602
11117261300343507602669708938
程序:#include<iostream>#include<algorithm>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE100typedefintKeyType;typedefcharInfoType[256];typedefstruct{ KeyTypekey; InfoTypeotherinfo;}RedType;typedefstruct{ RedTyper[MAXSIZE+1]; intlength;}SqList;//此处定义直接插入排序函数inta[20];数据结构实验报告-排序全文共13页,当前为第1页。intmain()数据结构实验报告-排序全文共13页,当前为第1页。{ intInsertSort; for(inti=0;i<10;++i) { cin>>a[i]; cout<<a[i]<<""; } cout<<endl; sort(a,a+10); for(inti=0;i<10;++i) cout<<a[i]<<""; return0;}二、折半插入排序1.定义顺序表的存储结构2.初始化顺序表为空表3.输入10个元素创建含有10个元素的顺序表4.输出顺序表5.对顺序表进行折半插入排序(BInsertSort)6.输出排序后的顺序表例如:1193866950711726170834330060211938669507117261708343300602
11117261300343507602669708938
程序:#include<iostream>#include<algorithm>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE100typedefintKeyType;数据结构实验报告-排序全文共13页,当前为第2页。typedefcharInfoType[256];数据结构实验报告-排序全文共13页,当前为第2页。typedefstruct{ KeyTypekey; InfoTypeotherinfo;}RedType;typedefstruct{ RedTyper[MAXSIZE+1]; intlength;}SqList;//此处定义折半插入排序函数inta[20];intmain(){intBInsertSort;for(inti=0;i<10;++i){cin>>a[i];cout<<a[i]<<"";}cout<<endl;sort(a,a+10);for(inti=0;i<10;++i)cout<<a[i]<<""; return0;}三、希尔排序1.定义顺序表的存储结构2.初始化顺序表为空表3.输入10个元素创建含有10个元素的顺序表4.输出顺序表5.对顺序表进行希尔排序(ShellSort)6.输出排序后的顺序表数据结构实验报告-排序全文共13页,当前为第3页。例如:数据结构实验报告-排序全文共13页,当前为第3页。1193866950711726170834330060211938669507117261708343300602
11117261300343507602669708938
程序:#include<iostream>#include<algorithm>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE100typedefintKeyType;typedefcharInfoType[256];typedefstruct{ KeyTypekey; InfoTypeotherinfo;}RedType;typedefstruct{ RedTyper[MAXSIZE+1]; intlength;}SqList;inta[20];intmain(){intShellSort; for(inti=0;i<10;++i) { cin>>a[i]; cout<<a[i]<<""; } cout<<endl; sort(a,a+10);数据结构实验报告-排序全文共13页,当前为第4页。 for(inti=0;i<10;++i)数据结构实验报告-排序全文共13页,当前为第4页。 cout<<a[i]<<""; return0;}四、冒泡排序1.定义顺序表的存储结构2.初始化顺序表为空表3.输入10个元素创建含有10个元素的顺序表4.输出顺序表5.对顺序表进行冒泡排序(BubbleSort)6.输出排序后的顺序表例如:1193866950711726170834330060211938669507117261708343300602
11117261300343507602669708938
程序:#include<iostream>#include<algorithm>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE100typedefintKeyType;typedefcharInfoType[256];typedefstruct{ KeyTypekey; InfoTypeotherinfo;}RedType;typedefstruct{ RedTyper[MAXSIZE+1]; intlength;}SqList;数据结构实验报告-排序全文共13页,当前为第5页。数据结构实验报告-排序全文共13页,当前为第5页。inta[20];intmain(){intBubbleSort; for(inti=0;i<10;++i) { cin>>a[i]; cout<<a[i]<<""; } cout<<endl; sort(a,a+10); for(inti=0;i<10;++i) cout<<a[i]<<""; return0;}五、快速排序1.定义顺序表的存储结构2.初始化顺序表为空表3.输入10个元素创建含有10个元素的顺序表4.输出顺序表5.对顺序表进行快速排序(QuickSort)6.输出排序后的顺序表例如:1193866950711726170834330060211938669507117261708343300602
11117261300343507602669708938
程序:#include<iostream>#include<algorithm>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE100数据结构实验报告-排序全文共13页,当前为第6页。typedefintKeyType;数据结构实验报告-排序全文共13页,当前为第6页。typedefcharInfoType[256];typedefstruct{ KeyTypekey; InfoTypeotherinfo;}RedType;typedefstruct{ RedTyper[MAXSIZE+1]; intlength;}SqList;inta[20];intmain(){ intQuickSort; for(inti=0;i<10;++i) { cin>>a[i]; cout<<a[i]<<""; } cout<<endl; sort(a,a+10); for(inti=0;i<10;++i) cout<<a[i]<<""; return0;}六、简单选择排序1.定义顺序表的存储结构2.初始化顺序表为空表3.输入10个元素创建含有10个元素的顺序表4.输出顺序表5.对顺序表进行简单选择排序(SelectSort)6.输出排序后的顺序表例如:数据结构实验报告-排序全文共13页,当前为第7页。11938669507117261708343300602数据结构实验报告-排序全文共13页,当前为第7页。11938669507117261708343300602
11117261300343507602669708938
程序:#include<iostream>#include<algorithm>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE100typedefintKeyType;typedefcharInfoType[256];typedefstruct{ KeyTypekey; InfoTypeotherinfo;}RedType;typedefstruct{ RedTyper[MAXSIZE+1]; intlength;}SqList;inta[20];intmain(){ intSelectSort; for(inti=0;i<10;++i) { cin>>a[i]; cout<<a[i]<<""; } cout<<endl; sort(a,a+10); for(inti=0;i<10;++i)数据结构实验报告-排序全文共13页,当前为第8页。 cout<<a[i]<<"";数据结构实验报告-排序全文共13页,当前为第8页。 return0;}七、堆排序1.定义顺序表的存储结构2.初始化顺序表为空表3.输入10个元素创建含有10个元素的顺序表4.输出顺序表5.对顺序表进行堆排序(HeapSort)6.输出排序后的顺序表例如:1193866950711726170834330060211938669507117261708343300602
11117261300343507602669708938
程序:#include<iostream>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE100typedefintKeyType;typedefcharInfoType[256];typedefstruct{ KeyTypekey; InfoTypeotherinfo;}RedType;typedefstruct{ RedTyper[MAXSIZE+1]; intlength;}SqList;数据结构实验报告-排序全文共13页,当前为第9页。StatusInitList(SqList&L)数据结构实验报告-排序全文共13页,当前为第9页。{ L.length=0; return0;}StatusCreateList(SqList&L,intn){ if(!L.r||n<1||n>MAXSIZE)returnERROR; //cout<<"\n请输入"<<n<<"个元素(用空格隔开):"; for(inti=1;i<=n;i++) cin>>L.r[i].key; L.length=n; returnOK;}voidListTraverse(SqListL){ //cout<<"L=("; for(inti=1;i<=L.length;i++) cout<<L.r[i].key<<''; //if(L.length)cout<<'\b'; //cout<<")"; cout<<endl;}voidHeapSort(SqList&L){intvalue=0;for(inti=0;i<L.length;i++)for(intj=0;j<L.length-i;j++){if(L.r[j].key>L.r[j+1].key){value=L.r[j].key;L.r[j].key=L.r[j+1].key;L.r[j+1].key=value;}数据结构实验报告-排序全文共13页,当前为第10页。}数据结构实验报告-排序全文共13页,当前为第10页。}intmain(){ SqListL; InitList(L); CreateList(L,10); ListTraverse(L);HeapSort(L); ListTraverse(L); return0;}八、归并排序1.定义顺序表的存储结构2.初始化顺序表为空表3.输入10个元素创建含有10个元素的顺序表4.输出顺序表5.对顺序表进行二路归并排序(MergeSort)6.输出排序后的顺序表例如:1193866950711726170834330060211938669507117261708343300602
11117261300343507602669708938程序:#include<iostream>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE100typedefintKeyType;typedefcharInfoType[256];数据结构实验报告-排序全文共13页,当前为第11页。typedefstruct数据结构实验报告-排序全文共13页,当前为第11页。{ KeyTypekey; InfoTypeotherinfo;}RedType;typedefstruct{ RedTyper[MAXSIZE+1]; intlength;}SqList;StatusInitList(SqList&L){ L.length=0; return0;}StatusCreateList(SqList&L,intn){ if(!L.r||n<1||n>MAXSIZE)returnERROR; //cout<<"\n请输入"<<n<<"个元素(用空格隔开):
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省沂水县重点名校2026年初三下学期4月份测试语文试题试卷含解析
- 2026年山东省德州市经济开发区抬头寺中学初三第一次阶段考试语文试题含解析
- 产后产妇心理健康的维护
- 医院拔河活动策划方案(3篇)
- 对施工方案要求(3篇)
- 中山球门施工方案(3篇)
- 应急预案动画视屏(3篇)
- 中考消防应急预案(3篇)
- 拔火罐应急预案(3篇)
- 新颖沙龙活动策划方案(3篇)
- 安徽省江南十校2026届高三3月联考数学试卷(含解析)
- 2025年中级社工考试综合能力真题及答案
- GB/T 31289-2025海工硅酸盐水泥
- 内蒙古自治区水利工程设计概(估)算编制规定(工程部分)(试行)2024
- 老年人心理健康的评估课件
- JG/T 458-2014建筑门窗自动控制系统通用技术要求
- 2025-2030中国浮吊行业市场发展趋势与前景展望战略分析研究报告
- 《城市地质风险评价技术要求》编制说明
- 制作红绿灯 课件
- 2024-2030年中国粉尘检测仪行业未来发展趋势及前景调研分析报告
- 《无人机飞行操控技术(微课版)》全套教学课件
评论
0/150
提交评论