- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
各种排序算法大全ppt课件
6.1.5 选择排序 算法实现: 输入n 个数给a[1] 到 a[n] for i=1 to n-1 for j=i+1 to n a[j]a[k] 真 假 k=j 输出a[1] 到 a[n] k=i a[i]?a[k] i != k 真 假 #include stdio.h main() { int a[11],i,j,k,x; printf(Input 10 numbers:\n); for(i=1;i11;i++) scanf(%d,a[i]); printf(\n); for(i=1;i10;i++) { k=i; for(j=i+1;j=10;j++) if(a[j]a[k]) k=j; if(i!=k) { x=a[i]; a[i]=a[k]; a[k]=x;} } printf(The sorted numbers:\n); for(i=1;i11;i++) printf(%d ,a[i]); } 阶段小节 几种常见的排序算法 冒泡排序的特点 快速排序的特点,一趟排序的子过程 本章总结 数据结构与算法初步 常见的排序算法 重点讲述冒泡排序和快速排序的特,同时大概了解直接插入排序,希尔排序和选择排序的基本思路 实验1 题目 题目:实现对数组{265,301,751,129,937,863,742,694,076,438}进行排序,用快速排序方法来实现。并列出每趟排序的结果 实验目的 考察快速排序算法的基本思路 了解快速排序算法的每趟操作流程 实验分析 建立一个数组,并初始化 进行数据的第一趟快速排序 了解快速排序每趟操作结果,分析排序快速的最快数组类型和最慢数组类型 冒泡排序 快速排序 直接插入排序 希尔排序 选择排序 堆排序 归并排序 6.1.1 冒泡排序 算法描述 设待排序记录序列中的记录个数为n 一般地,第i趟起泡排序从1到n-i+1 依次比较相邻两个记录的关键字,如果发生逆序,则交换之 其结果是这n-i+1个记录中,关键字最大的记录被交换到第n-i+1的位置上,最多作n-1趟。 6.1.1 冒泡排序 算法实例 21 25 25* 16 08 0 1 2 3 4 5 21 25* 49 25 16 49 chang=1 08 25* chang=1 08 16 chang=1 25* 25 21 49 21 25 16 08 49 6.1.1 冒泡排序 算法实例 25* 0 1 2 3 4 5 i = 4 49 16 chang=1 08 25 21 25* i = 5 49 16 chang=0 08 25 21 6.1.1 冒泡排序 算法实例 21 08 25 49 25 16 21 49 25 25 16 08 21 49 25 25 16 08 21 49 25 25 16 08 21 49 25 25 16 08 21 49 25 25 16 08 初始关键字 第一趟排序 第四趟排序 第二趟排序 第三趟排序 第五趟排序 6.1.1 冒泡排序 算法实现 输入n 个数给a[1] 到 a[n] for j=1 to n-1 for i=1 to n-j a[i]a[i+1] 真 假 a[i]?a[i+1] 输出a[1] 到 a[n] #include stdio.h main() { int a[11],i,j,t; printf(Input 10 numbers:\n); for(i=1;i11;i++) scanf(%d,a[i]); printf(\n); for(j=1;j=9;j++) for(i=1;i=10-j;i++) if(a[i]a[i+1]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t;} printf(The sorted numbers:\n); for(i=1;i11;i++) printf(%d ,a[i]); } 6.1.2 快速排序 算法特点: 快速排序是通过比较关键码、交换记录, 以某个记录为界(该记录称为支点),将待排序列分成两部分 一部分所有记录的关键码大于等于支点记录的关键码 另一部分所有记录的关键码小于支
您可能关注的文档
- 十大广告ppt课件.pptx
- 十年后的礼物课件.ppt
- 半导体二极管和三极管的开关特性ppt课件.ppt
- 半导体二极管.ppt
- 半导体传感器.ppt
- 半导体封装项目可行性研究报告ppt课件.ppt
- 化工仪表及自动化2011.ppt
- 半导体材料项目可行性研究报告.ppt
- 半导体工艺及器件模拟二.ppt
- 半导体工艺及器件模拟一ppt课件.ppt
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
最近下载
- 【课件】《危险化学品重大危险源监督管理暂行规定》解读.pptx VIP
- 桩基及围护技术标含施工方案.pdf VIP
- 小学写人记事类作文方法讲解(课件PPT;42页).pptx VIP
- 学校食堂餐饮服务投标方案(技术方案).doc
- 英剧剧本唐顿庄园台词本中英文对照精排版第一季第一集.pdf VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟281.docx VIP
- [中级注册安全工程师考试密押资料]安全生产技术模拟39.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟42.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟301.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟73.docx VIP
文档评论(0)