版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告-排序本章共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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Cenwave实时互动培训与会议系统:应用案例以及产品介绍
- 全套安全技术交底
- 课题申报书:新质生产力视域下地方公安院校拔尖人才培养的路径研究
- 设备搬迁运输合同范例
- 测绘招聘合同范例
- 木作清包工合同范例
- 围铛转让合同范例
- 沿街小店买卖合同范例
- 工程消防检测合同范例
- 马山租房合同范例
- 第三单元单元作业设计 部编版语文七年级上册
- 应急药品的使用培训课件
- 中日服饰文化对比
- 獐子岛审计案例
- 输液导管相关静脉血栓形成中国专家共识护理课件
- 选煤厂安全规程
- 《妇科肿瘤化疗方案》课件
- 关于二十四节气的常识
- 微积分第一学期期末试卷汇总
- 《幼儿园家长工作指导》 课件 模块三 项目2 幼儿园家长工作特殊指导
- 体育学科2022版新课程标准测试题含答案
评论
0/150
提交评论