3.4冒泡排序算法

上传人:大米 文档编号:567948289 上传时间:2024-07-22 格式:PPT 页数:14 大小:161KB
返回 下载 相关 举报
3.4冒泡排序算法_第1页
第1页 / 共14页
3.4冒泡排序算法_第2页
第2页 / 共14页
3.4冒泡排序算法_第3页
第3页 / 共14页
3.4冒泡排序算法_第4页
第4页 / 共14页
3.4冒泡排序算法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《3.4冒泡排序算法》由会员分享,可在线阅读,更多相关《3.4冒泡排序算法(14页珍藏版)》请在金锄头文库上搜索。

1、3.4 对数据进行排序对数据进行排序 冒泡排序冒泡排序“明日之星英语演讲大赛” 评分出来了, 需要选出每组前三名进入决赛。我们需要设计程序, 对选手成绩选手成绩进行排序进行排序。 那么我们应该怎样做呢?要解决这个问题,那么就让我们一起来学习排序算法。 排序的意义n排序是为了将一组杂乱的数据变成一组有序有序的数据。(递增或递减)n 排序法的使用时非常频繁的,在实践中,人们设计出了许多好的算法,如交换排序、插入排序、以及选择排序等等。各种算法有其自身的特点与适用范围,今天我们来学习其中人们较常用的一种: 冒泡排序法。冒泡排序法。 冒泡法排序 “冒泡法排序”也叫“起泡法排序” ,是一种比较简单、易懂

2、的交换排序方法,它通过将相邻元素进行比较比较和交换交换,逐步将一个无序序列排列为一个有序序列。将元素按从小到大的顺序排列称为升序排列,反之称为降序排列。理解:冒泡排序是在一列数据中把较小的数据逐次理解:冒泡排序是在一列数据中把较小的数据逐次向上推移的一种排序技术。向上推移的一种排序技术。(观赏FLASH)冒泡排序冒泡排序根据棋牌规则,把下列5张牌从小排到大排列冒泡排序用数组来存储一系列同类型的数据用数组来存储一系列同类型的数据,然后调然后调整数组中的元素整数组中的元素. 例如例如: dim A(4) as integer 定义一个数组变量定义一个数组变量A图314 冒泡法排序示意图A(0)A(

3、1)A(2)A(3)A(4)n 这启发我们把一个数组的一端比做水底而把另一端想像成水面,不断把较小的数据移向一端或把较大的数据移向另一端,最终就可以得到排好序的数组。在这种排序的过程中,大的数就如气泡一样逐层下沉,而小的数逐个上浮,因此被形象地比喻成“冒泡”,故称为冒泡法。 算法分析第1次冒泡排序时(i=0) j 从 4 开始到1For j=4 to 1 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值第2次冒泡排序时(i=1) j 从 4 开始到2For j=4 to 2 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)

4、的值第3次冒泡排序时(i=2) j 从 4 开始到3For j=4 to 3 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值当i 从0到3 变化时 每次 j 从4 到i+1 时 d(j)比比d(j-1)小小,则交换它们则交换它们第4次冒泡排序时(i=3) j 从 4 开始到4For j=4 to 4 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值程序代码:程序代码:For i = 0 To 3 For j = 4 To i + 1 Step -1 If A(j) A(j - 1) Then ( ) End If Next j Next i k = A(j): A(j) = A(j - 1): A(j - 1) = kn当i 从0到3 变化时n 每次 j 从4 到i+1 时 n A(j)比比A(j-1)小小,则交换它们则交换它们两个数进行数据交换两个数进行数据交换,就象两杯水进行交换就象两杯水进行交换,需要再拿一个空杯需要再拿一个空杯总结(*)n数组A(n) For i = 0 To n-1 For j = n To i + 1 Step -1n数组d(1 to n) For i = 1 To n-1 For j = n To i + 1 Step -1i 控制循环次数j 控制元素对比与交换

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 文学/艺术/历史 > 人文/社科

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号