- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
冒泡法排序原理
冒泡法排序 冒泡法原理 分析: 假设有N个数据放在数组a中,现要把这N个数从小到大排序. 冒泡排序法的基本思想是: 第一:在a[0]到a[N-1]的范围内,依次比较两个相邻元素的值, 若a[J]a[J+1],则交换a[J]与a[J+1],J的值取0,1,2,……,N-2;经过 这样一趟冒泡,就把这N个数中最大的数放到a[N-1]中. 冒泡法原理 冒泡法排序 现假设有8个随机数已经在数组中,开始排序 初始状态: 数组a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] 冒泡法排序 第二趟冒泡排序开始: 此时的待排序元素 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] 冒泡法排序 同样第四趟结果为: 冒泡法排序流程图 程序整体流程: 冒泡法排序流程图 冒泡法排序流程图 冒泡法程序 main( ) { int i,j,a[8],temp,swap; clrscr( ); for(i=0;i8;i++) scanf(%d,a[i]); 冒泡法 swap 变量的作用 如果在某趟冒泡过程中没有交换相邻的值,则说明排序已完成,可以提前结束处理. 比如:为原始数列:8、15、27、96、32、65、78、79 这个序列用冒泡法排序,一趟之后就得到升序结果,而之后的六趟都可以不要进行。 所以,swap变量就是用来标识如果某趟排序之后已经得到最终结果,则多余的次数就无须进行。 冒泡法与选择法的比较 用选择排序法对键盘输入的N个数从小到大进行排序. 冒泡法与选择法的比较 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] 数组a 总 结 本次课主要内容: 1.冒泡法基本思想,通过n-1趟排序把n个待排序数 大的元素象石头一样往下沉(放在最后),小的元素 象气泡一样往上浮。 2.冒泡法的流程图 3.冒泡法程序 4.冒泡法中swap变量的作用 5.简述了选择法排序,要求回去预习选择法排序。 经典算法介绍: 排序问题是程序设计中的典型问题之一,它有很广泛的应用,比如给你一组学生成绩,要你输出前2 0 名的成绩。这时你就要用到排序。再比如要问你中国的GDP排世界第几,你要先把各国GDP排个序,才知道中国在第几。 所谓排序就是将数组中的各元素的值按从小到大的顺序或按从大到小的顺序重新排列。 排序过程一般都要进行元素值的比较和元素值的交换。 看图示 例1:用冒泡排序法对8个整数{6,8,5,4,6,9,3,2}进行从小到大排序. 第二:再对a[0]到a[N-2]的范围内再进行一趟冒泡,又将该范围内的最大值换到了a[N-2]中. 看图示二 Swap变量作用 看图示三 第四:如果在某趟冒泡过程中没有交换相邻的值,则说明排序已完成,可以提前结束处理. 第三:依次进行下去,最多只要进行N-1趟冒泡,就可完成排序. 看流程 2 3 9 6 4 5 8 6 第一趟排序: 两两相邻比较: 总结 回到思路一 8 5 8 4 9 3 8 6 9 2 第一趟最后结果: 9 9 2 3 8 6 4 5 6 9 8 2 3 6 6 4 5 9 8 6 2 3 6 5 4 同样对待排序元素两两比较后结果为: 这是第三趟冒泡的待排序元素 接着第三趟冒泡排序结果为: 回到思路二 9 8 6 6 5 4 3 2 9 8 6 6 2 3 5 4 9 8 6 6 5 4 2 3 9 8 6 6 5 2 3 4 第六趟结果为: 第七趟结果(最终)为: 第五趟结果为: 回到思路二 看流程 开始 结束 输入数据 输出数据 冒泡排序 细化输入数据流程: i = 0 i8 MOVX A,@DPTR i ++ N Y 细化输出数据流程: i = 0 i8 MOVX @DPTR,A i ++ N Y
您可能关注的文档
- 庄楚强 应用数理统计基础第四章 课后答案.doc
- 精益生产-标准作业.ppt
- 1、看图写话提高训练(人物篇).ppt
- 药品注册办事流程图.doc
- 疫苗的应用与发展.doc
- 作业测定和方法研究(时间研究).pptx
- 中考应用题归类整理(含详细答案).doc
- 技术资料发放流程图.doc
- 政府采购代理工作流程图.doc
- 分数应用题基础.doc
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
最近下载
- 2018-2019学年辽宁省本溪市实验中学八年级(上)第一次月考物理试卷(附答案详解).docx
- 3.大功率激电测深工作方法.pdf
- 权吉浩-《长短的组合》原版五线谱钢琴谱正谱.pdf
- 消毒供应中心管理.pptx
- 2020~2021学年第一学期期末考试九年级历史试卷.pdf VIP
- 埃斯顿pronert伺服驱动器说明书.pdf
- EPC工程总承包项目管理办法.docx
- JTT 1504.1-2024 公路基础设施长期性能科学观测网 第1部分:建设规范.docx
- 在线网课学习课堂《高级医学英语(首都医大 )》单元测试考核答案.pdf
- 2020-2021学年广州市白云区九年级上学期期末数学试卷(含答案解析).docx
文档评论(0)