版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、直接插入排序冒泡排序快速排序一于一实验七宁德师范学院计算机系实验报告(20142015学年第一学期)课程名称数据结构实验名称实验七数据的排序与检索专业计算机科学与技术年级2013级B2013102学号姓名于141指导教师毛雁明实验日期2014-12-2实验目的与要求:1、掌握数据结构中的几种常用排序方法:插入排序、快速排序、选择排序等。2、遇到实际问题能够选择适当的排序方法解决。实验设备(环境):微机、C语言编程环境(VC+实验内容:给定的数组listN=213,111,222,77,400,300,987,1024,632,555试分别用直接插入排序、冒泡排序、快速排序对上述数据进行排序。要
2、求:每种排序算法编写为独立的自定义函数且要求输出每趟排序后的数据排列序列情况。7 / 8实验步骤、实验结果及分析:函数代码#include#definen10typedefstructintkey;RecType;typedefRecTypeSeqListn+1;voidinsertSort(SeqListr)inti,j;for(i=2;i=n;i+)r0=ri;j=i-1;while(r0.keyrj.key)rj+1=rj;j-;rj+1=r0;voidbubblesort(SeqListr)inti,j,exchange;for(i=1;i=i;j-)if(rj+1.keyrj.key
3、)r0=rj+1;rj+1=rj;rj=r0;exchange=1;if(!exchange)break;intpartition(SeqListr,inti,intj)RecTypepivot=ri;while(ij)while(i=pivot.key)j-;if(ij)ri+=rj;while(ij&ri.key=pivot.key)i+;if(ij)rj-=ri;ri=pivot;returni;voidquicksort(SeqListr,intlow,inthigh)intpivotpos;if(lowhigh)pivotpos=partition(r,low,high);quick
4、sort(r,low,pivotpos-1);quicksort(r,pivotpos+1,high);main(void)intlow=1,high=10;SeqListr=0,213,111,222,77,400,300,987,1024,632,555;inti;n);n);insertSort(r);printf(直接插入排序算法:for(i=1;i=n;i+)printf(%-6d,ri);printf(n);bubblesort(r);printf(冒泡排序算法:for(i=1;i=n;i+)printf(%-6d,ri);printf(n);quicksort(r,low,hig
5、h);printf(快速排序算法:nfor(i=1;i=n;i+)printf(%-6d,ri);printf(n);(2)主函数流程图(3)运行结果第i趟结果第2池事臬冒泡排序:军1趟结果 第2趟结果 第3趟结果 第”0结果 第5趟结果 第6强结果 第7趟结果 第8趟结果 第9趟结果第1趟结果 第2趟结果 第m趟结果 第4超结果 第s榭给果 重6箱器巢-772131112223004009871024G32-7?1112132223004U0555632 198?1024111.213t 222直接插入排序; :77 4009871024632555-111213! 222:774萌3009
6、871024632555?7111213222003009871024632555-771112132224酗3098710246325ss7711121322230340098710246325S577111213222300400VB71024632S55771112132223004009871024G3255577111213222300400632987102455577111213222300400555632?871日24?7111213快速排序*222 AWA 3Q098?1024632SS5-771112132224003009871024632555771112132223
7、00987102432鹃B7711121322230040098710246325557711121322230040B555632 1J8710247711121322230040 B555632 1?871024to continuePprts any key(4)实验总结本实验主要考查直接插入排序、冒泡排序、快速排序三项函数调用,难度还是有的,需要我们首先理解这三种排序方式,排序实质,然后我们就需要写程序代码,主函数还是很好写的,快速排序算法代码是个难点,还要嵌套一个调用函数需要我们在草稿纸上事先演算下,进行多次调试,达到要求。直接插入排序的方法是首先在当前有序区ri.i-1中查找人ri的正常插入位置k;然后将rk.i-1中的记录均后移一个位置,腾出k位置上的空间插入ri。其他方法与这有点不同,画主函数流程图要求我们对代码整体有个框架认识,首先动态分配空间,建立顺序表,然后输入整数进行判断,不符合时继续输入整数,符合时进行选择,然后执行功能,选择退出时,整个程序都退出。虽然经过上学期对C语言半年的学习可以说掌握的基本可以,但是几天不练就会手生,甚至不知如何下手,这时我们要查阅课本,通过这次实验的练习,我在学习数据结构的同时也对C语言进行了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 34141-2017 高速列车网络控制系统》专题研究报告
- 2025年大学二年级太空育种专业《太空育种技术》期末考试测验卷及答案
- 工程热处理工安全意识强化模拟考核试卷含答案
- 履带运输车司机创新实践考核试卷含答案
- 《GBT 20570-2015 玉米储存品质判定规则》专题研究报告
- 矿压观测工岗前诚信道德考核试卷含答案
- 硝酸生产工安全意识水平考核试卷含答案
- 加气混凝土大板拼装工复试测试考核试卷含答案
- 对二乙基苯装置操作工岗位设备安全技术规程
- 《GBT 3780.22-2016 炭黑 第 22 部分:用工艺控制数据计算过程能力指数》专题研究报告
- 2026华能置业有限公司高校毕业生招聘笔试备考题库及答案解析
- 冬季公路工程施工安全措施方案
- 多污染物协同控制-洞察及研究
- 《机器视觉及其应用技术》课件-项目04-工业相机的认识与选型
- 新冠实验室晕倒应急预案
- 铁路笔试试题及答案
- 数字普惠金融对六大国有商业银行信用风险的影响研究
- 户外运动与旅游产业融合路径及高质量发展模式研究
- 2025年中国测绘科学院研究所招聘高频考点及模拟题答案
- 年产2000吨高碳烯烃中试项目环境影响报告书
- 第16课 祖国我为您自豪(教学课件)小学二年级上册 统编版《道德与法治》新教材
评论
0/150
提交评论