




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告-排序本章共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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能气象系统施工工艺及技术措施
- 高中生学习训词精神心得体会
- 2025年幼儿园财务资金往来管理计划
- 幼儿园师德师风示范岗建设工作计划
- 六年级语文变形记课文作文范文
- 2025麻醉科医师职称晋升培训计划
- 建筑节能项目外墙真石漆施工措施
- 以形启思:形象思维在中学生命科学教学中的多维应用与实践探索
- 小学班队学风提升计划
- 湘教版五年级上册音乐教学设计计划
- DBJ33-T 1152-2025 《建筑工程建筑面积计算和竣工综合测量技术规程》
- 中国四氢吡咯市场发展趋势及前景规模预测报告2025-2031年
- 注安2024注册安全工程师【法规】核心母题600题
- 临近既有线施工方案
- 2025年儿童青少年近视防控白皮书
- 患者风险评估及预防措施
- 农村宅基地代持协议-201805021
- 2025公司财务部门工作计划
- 《文化人类学的方法》课件
- 2025年上半年云南省昆明市公安局交通警察支队招聘勤务辅警200人易考易错模拟试题(共500题)试卷后附参考答案
- 挖机拆房合同范例
评论
0/150
提交评论