高中信息技术-1、冒泡排序课件-浙教版PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要进行__n__-_1___轮冒泡,其中
外循环变量i从 1 到 n-1变化, 内循环变量j从 n 到 i+1变化。
a(1)、a(2)、a(3)、…a(n-2)、a(n-1)、a(n)
14

、 For i= 1 to n4-1
冒 泡 排
For j= 1
n5 to i+1 step -
序 的 程
if a( j)<a( j-1) then t=a( j):a( j)=a(j-1):a(j-
设置数组变量:a (i)为牌的值(i=1、2、3、4、5)
3
数1
组 变
2
量 a3
4
5 4
第1 一 轮2 冒 泡3 过 程4
5
a(2)<a(1),交换
a(3)<a(2),交换
a(4)<a(3),交换
a(5)>a(4)保持不

5
第1
二 轮
2
冒 泡3
过 程4
5
a(3)<a(2),交换 a(4)<a(3),交换
序 实 现
1)=t end if
思考1:第一个N循e环xt改j为For i=2 to n后,j怎样变呢?
Next i 思考2:if a(j)<a(j-1)改为a(j)>a(j-1) 后对排序结果有 演何示影已响知呢五?个数的冒泡排序VB程序 15
四、小结:
1、冒泡排序:每次从最下面的元素开始, 通过逐次往上比较,将较小的数向上推移
a(5)>a(4)保持不

6
第1
三 轮
2
冒 泡3
过 程4
5
a(4)>a(3),不变
a(5)<a(4),交换
7
第1
四 轮
2
冒 泡3
过 程4
5
a(5)>a(4),不变
8
当堂练习 1、对“648251”中的6个数码进行两轮 冒泡排序后即为某游戏中数字密码锁的密 码,该密码是( C ) A)684521 B)462518 C)126485 D)864521
1、要进行___4_____轮冒泡
2、第一轮冒泡的时候它进行比较的范围
是从_a_(_5_)_与__a_(4_)到____a_(2_)__与a(1)
第2轮冒泡的时候呢?
是从_a_(_5_)_与__a_(4_)_到___a_(3_)__与_ a(2)
第3轮冒泡的时候呢? 是从_a_(_5_)_与__a_(4_)_到___a_(4_)_与__a(3)
t=a( j):a( j)=a( end if
j-1):a(
j-1)=t aaa((a(555())5)———)—aaa((a(444())4) )
Next j
aaa(((444)))———aaa(((333)))
Next i
aa((33))——aa((22))
a(2)—a(113 )
提高:如果要对有n个元素的数组进行排序,那么
9
当堂练习
• 2、下表中的原始数据是一组学生的军训打靶成绩, 若采用冒泡排序算法对其进行排序,则第3遍的排 序结果是 。
原始数据 第一遍 第二遍 第三遍 第四遍
98
85
85
95
98
88
85
95
98
93
88
95
85 85 88 88 93 93 98 95
88
93
93
95 98
10
分析:如果要对有5个元素的数组进行排序,那么
经典算法之
冒泡排序
排序:把杂乱无章的数据变为有序的数据的过程。 (递增或递减)
冒泡排序:把较小的数据逐次向上推移的一种 排序技术。
1
如何实现将较小数 逐次从下向上推移
呢?
一、冒泡排序的思想:从最下面一个元素起, 依次比较相邻的两个元素中的数据,将较小的 数据调换到上面,小元素像气泡一样上浮。
2
二、冒泡排序的过程
第4轮冒泡的时候呢?
是从_a_(5_)_与__a_(_4_)_到___a_(_5_)_与_a(4)
11
对有5个元素的数 组进行冒泡排序 流程图1
开始
i=1
i<=4Biblioteka N Y冒泡i=i+1
j=5
流程图2
JJ>>1==i?+ N
Y A(j)<A(j-1) Y
N
两数交换
j=j-1
12
i=1 j=5 to 2
2、如果有n个数组的元素进行排序,则 要进行n-1趟冒泡
第一趟冒泡要经过n-1次比较 第二趟冒泡要经过n-2次比较
……. 第n-1趟冒泡要经过1次比较
总计要经过:(n-1)+(n-2)+(n-3)+………+2+1次 16 比较
五、复习题解
• 高考倒计时 P70例3、 P77第6题、P80第14题
17
程 序 实 现
For i= 1 to 4 i=i=1234
i=2 j=5 to 3 i=3 j=5 to 4 i=4 j=5 to 5
比较两个 数,如果 后面的数 比前面的
For j=5 to3425i+1 step -1
小,则交
if a( j)<a( j-1) then
aaa((a(jj()j))—j——)—aa换a((a(jj(-j--1j11-))1)
相关文档
最新文档