冒泡排序系列课件新_第1页
冒泡排序系列课件新_第2页
冒泡排序系列课件新_第3页
冒泡排序系列课件新_第4页
冒泡排序系列课件新_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、冒冒 泡泡 排排 序序荣怀学校 张丽突围赛竞演男明星投票结果突围赛竞演男明星投票结果把较小的数据逐次向前推移。如何实现将较小如何实现将较小数数逐次从下往数数逐次从下往上推移呢?上推移呢?从最后一个元素起,依次比较相邻的两个从最后一个元素起,依次比较相邻的两个 元素中的数据,将较小的数据调换到上面。元素中的数据,将较小的数据调换到上面。突围赛竞演男明星投票结果突围赛竞演男明星投票结果a(1)a(2) a(3) a(4)a(5) a(6)原始数据第一遍第二遍第三遍第四遍第五遍198138168198178138158148比较次数交换次数a(1) a(2) a(3) a(4) a(5) a(6)

2、冒泡冒泡趟数趟数比较结果比较结果比较次比较次数数交换次交换次数数1确定最小数 a(1)数据: 2确定较小数 a(2)数据: 3确定较小数 a(2)数据: 4确定较小数 a(2)数据: 5确定较小数 a(2)数据: 播放1381481581681785432143311138、198、168、178、148、158 138、148、198、168、178、158 138、148、158、198、168、178、138、148、158、168、198、178、138、148、158、168、178、198、a(6)a(1)a(6)a(2)a(6)a(3)a(6)a(4)a(6)a(5)6个元素,排

3、序进行5趟,比较次数分别是 5、4、3、2、1次n-1n个元素,排序进行 趟,比较次数分别是 次,每一趟排序中从 与 开始比较n-1、n-2、n-3、 2、1 a(n)a(n-1)从大到小怎么来实现呢?例题一:下列表格中是突围赛女选手的年龄,请你利用冒泡排序将她们的年龄从小到大排列,进行两趟冒泡排序后结果是: 韩红韩红黄丽黄丽玲玲陳洁陳洁仪仪张靓张靓颖颖谭维谭维维维李佳李佳薇薇443243313327第一趟排序:27、44、32、43、31、33 第二趟排序:27、31、44、32、43、33 我们如何用我们如何用算法算法来来实现冒泡排序?实现冒泡排序?a算法的三种表示方法算法的三种表示方法自

4、然语言计算机语言流程图比较比较a(6)与与a(5)之间的大小之间的大小(选择结构)(选择结构) yna(6)a(5)t a(6)a(6) a(5)a(5) t交换a(6)与a(5)的值a(6)a(5)a(5)a(4)a(4)a(3)a(3)a(2)a(2)a(1)ja(j)a(j1)yna(j)a(j1)t a(j)a(j) a(j1)a(j1) t交换a(j)与a(j1)的值if then end ifa(j)a(j-1) t=a(j)a(j)=a(j-1)a(j-1)=ta(6)a(5)a(5)a(4)a(4)a(3)a(3)a(2)a(2)a(1)ja(j)a(j1)j的取值范围 到 6

5、2第一趟排序算法实现第一趟排序算法实现 na( j)= 2 j6y yn循环结构循环结构t a(j)a(j) a(j-1)a(j-1) tj= j-1 for j=6 to step if then a(j)=a(j-1) a(j-1)=t end if 21a(j) a(j-1) t=a(j)next j第1趟冒泡排序时 j 从 6 开始到2for j=6 to 2 step -1 if a(j)a(j-1) then 交换a(j) 和a(j-1)的值next j五趟冒泡排序算法的实现 第2趟冒泡排序时 j 从 6 开始到3for j=6 to 3 step -1 if a(j)a(j-1)

6、 then 交换a(j) 和a(j-1)的值next j第3趟冒泡排序时 j 从 6 开始到4for j=6 to 4 step -1 if a(j)a(j-1) then 交换a(j) 和a(j-1)的值next j第4趟冒泡排序时 j 从 6 开始到5for j=6 to 5 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值next j第5趟冒泡排序时 j 从 6 开始到6for j=6 to 6 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值next j用变量i控制排序趟数6个元素,排序进行 趟 变量i的取值范

7、围 到 变量j的取值范围 到 5156i+1 j=5ni = i+1yi=1交换a(j)与a(j1)的值yynn for i= to for j= to step if then a(j)=a(j-1) end if next jnext i外循环内内循循环环15i11a(j)a(j-1)t=a(j)a(j-1)=t6我们如何快速高效的完成我们如何快速高效的完成n个个元素的排序呢?元素的排序呢?n个元素,排序进行 趟 变量i的取值范围 到 变量j的取值范围 到 n11n1ni+1编写编写n个元素进行冒泡排序算法实现个元素进行冒泡排序算法实现ynt=a(j)a(j)=a(j-1)a(j-1)=t

8、 a( j)=i+1 j=n j=j-1 ynyni=1i=n-1 i =i+1 for i= to for j= to step if then a(j)=a(j-1) end if next jnext i外循环内内循循环环1n1i11a(j) a(j-1)a(j)= a(j-1)冒泡排序的基本原理冒泡排序的基本原理: 对存放有n个原始数据的数组,按从后往前从后往前的方向依次进行两两比较两两比较,当发现相邻相邻两个数据的次序与排序要求的大小次序次序不符合不符合时,即将这两个数据进行进行互换互换。这样,较小的数据就会逐个向前移动,好象气泡向上浮起一样。数组元素之间两两比较完成我们称为冒泡一趟,直至n1趟冒泡之后,数据呈现有序排列。利用冒泡法,对下列这一组数据按升序进行排序利用冒泡法,对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论