34冒泡排序算法及程序实现课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《34冒泡排序算法及程序实现课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 34 冒泡 排序 算法 程序 实现 课件
- 资源描述:
-
1、1冒泡排序算法的基本思想冒泡排序算法的基本思想冒泡排序是在一列数据中把较小冒泡排序是在一列数据中把较小(大大)的数据逐次向的数据逐次向上推移的一种排序技术。该算法的基本思想是把待排序上推移的一种排序技术。该算法的基本思想是把待排序的的n个元素的数组看成是垂直堆放的一列数据,从最下个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素中的面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小数据,将较小(大大)的数据换到上面的一个元素中。重复的数据换到上面的一个元素中。重复这一过程,直到处理完最后两个元素中的数据,称为一这一过程,直到处理完最后两个元素中的
2、数据,称为一趟加工。当第一趟加工完成时,最小趟加工。当第一趟加工完成时,最小(大大)的数据已经上的数据已经上升到第一个元素的位置。然后对余下的升到第一个元素的位置。然后对余下的n1个元素重复个元素重复上述处理过程,直至最后余下两个数据的比较和交换。上述处理过程,直至最后余下两个数据的比较和交换。34 冒泡排序算法及程序实现冒泡排序算法及程序实现由于每一趟加工都是将本趟最小由于每一趟加工都是将本趟最小(大大)的数元素像气泡一的数元素像气泡一样浮至本趟的顶端位置,所以称作冒泡排序。但冒泡也有变样浮至本趟的顶端位置,所以称作冒泡排序。但冒泡也有变式,即将数组元素进行两两比较,若相邻两个元素中的数据式
3、,即将数组元素进行两两比较,若相邻两个元素中的数据不符合排序,就交换位置。不符合排序,就交换位置。某数组某数组c共由共由4个元素构成,每个元素的值如下表所示:个元素构成,每个元素的值如下表所示:数组元素数组元素c(1)c(2)c(3)c(4)值值23383015采用冒泡排序思想进行升序排序,从最下面的一个元素采用冒泡排序思想进行升序排序,从最下面的一个元素起,自下而上的比较相邻两个元素中的数据,整个排序过程起,自下而上的比较相邻两个元素中的数据,整个排序过程如下所示:如下所示:第一趟加工处理过程:第一趟加工处理过程:第一趟加工共比较第一趟加工共比较3次,处理完成后,最小的元素次,处理完成后,最
4、小的元素15存储存储在了在了c(1)中。中。第二趟加工处理过程:第二趟加工处理过程:第二趟加工共比较第二趟加工共比较2次,处理完成后,第次,处理完成后,第2个最小的元素个最小的元素23存储在了存储在了c(2)中。中。第三趟加工处理过程:第三趟加工处理过程:第三趟加工共比较第三趟加工共比较1次,处理完成后,第次,处理完成后,第3个小的元素个小的元素32存储在了存储在了c(3)中。中。4个元素共需进行个元素共需进行3趟加工处理,总的比较次数为趟加工处理,总的比较次数为3216次。次。对对n个元素的数组,用冒泡法进行排序时,共需比较个元素的数组,用冒泡法进行排序时,共需比较n(n1)/2次。次。2冒
5、泡排序算法的程序实现冒泡排序算法的程序实现冒泡排序程序的实现可用双重冒泡排序程序的实现可用双重For循环来实现,外层循环来实现,外层For循环控制是第几遍加工,内层循环控制是第几遍加工,内层For循环控制进行排序的循环控制进行排序的数组元素下标的变化范围。由于每趟加工完成后,进行排数组元素下标的变化范围。由于每趟加工完成后,进行排序的范围会发生变化序的范围会发生变化(每趟减少一个每趟减少一个),故内层,故内层For循环变量循环变量的下界由外层循环变量决定。的下界由外层循环变量决定。现有现有n个数据,分别存放在数组变量个数据,分别存放在数组变量a(1 To n)当中,用当中,用冒泡排序算法表示结
6、构如下:冒泡排序算法表示结构如下:用冒泡排序算法程序实现的片段如下:用冒泡排序算法程序实现的片段如下:For i1 To n1 For jn To i1 Step 1 If a(j)a(j1)Then ta(j):a(j)a(j1):a(j1)t End If Next jNext i当外循环变量当外循环变量i取取1时,即第时,即第1趟加工时,内循环变量趟加工时,内循环变量j的下界为的下界为i1(值为值为2),即从,即从a(n)开始自下而上的比较相邻的两个元素中的数,如果下开始自下而上的比较相邻的两个元素中的数,如果下面的数比上面的小,则相互交换,直到面的数比上面的小,则相互交换,直到a(2)
7、与与a(1)的比较为止,这样第的比较为止,这样第1趟加工后将最小的数放到了趟加工后将最小的数放到了a(1)中;第中;第2趟加工,内循环变量趟加工,内循环变量j的下界为的下界为3,直到,直到a(3)和和a(2)的比较为止,把最小的数放到了的比较为止,把最小的数放到了a(2)中;这样,经过中;这样,经过n1趟加工后,就完成了数组从小到大的排序。趟加工后,就完成了数组从小到大的排序。中间的中间的If语句,完成相邻的两个元素的比较过程,如果语句,完成相邻的两个元素的比较过程,如果下面的数下面的数a(j)比上面的数比上面的数a(j1)小,则交换小,则交换a(j)与与a(j1)的的值。用语句值。用语句ta
8、(j):a(j)a(j1):a(j1)t来实现。来实现。3读程序时,判断冒泡排序的结果是从小到大还是从读程序时,判断冒泡排序的结果是从小到大还是从大到小,方法就是分析内循环中的条件判断语句,如果交大到小,方法就是分析内循环中的条件判断语句,如果交换数据的条件是前面元素小于后面元素,如换数据的条件是前面元素小于后面元素,如a(j)a(j1),则排序结果是从大到小。反之,如果交换数,则排序结果是从大到小。反之,如果交换数据的条件是前面元素大于后面元素,如据的条件是前面元素大于后面元素,如a(j)a(j1)、a(j)h(j)Then t h(i):h(i)h(j):h(j)t End If Next
9、 jNext i 本节课学习要理解冒泡排序算法的基本思想,能根本节课学习要理解冒泡排序算法的基本思想,能根据冒泡排序的思想,对一组数据进行冒泡排序。掌握冒据冒泡排序的思想,对一组数据进行冒泡排序。掌握冒泡排序算法的程序实现,能根据给出的题目自行编写冒泡排序算法的程序实现,能根据给出的题目自行编写冒泡程序。考查方式为选择题与填空题。泡程序。考查方式为选择题与填空题。1.某书店在某书店在5所学校流动售书量所学校流动售书量(单位:本单位:本)分别是分别是82、113、46、69、35。采用冒泡排序对其进行排序,若。采用冒泡排序对其进行排序,若完成第一遍时的结果是完成第一遍时的结果是35、82、113
展开阅读全文