冒泡排序学案
学习目标:
理解排序的概念
能描述冒泡排序的原理
能运用冒泡排序解决生活中的排序问题
理解冒泡排序的算法
自学自研
排序的概念:把杂乱无章的数据变为有序的数据,这一过程称为排序。
升序:非递减次序(从小到大)排列
降序:非递增次序(从大到小)排列
数组应用:
数组d中存放了某校田径运动会中八名100米短跑运动员的成绩,数据存放
如下表:
d[1]
d[2]
d[3]
d[4]
d[5]
d[6]
d[7]
d[8]
12.8
13.3
12.3
12.6
13.5
12.1
13.0
13.8
活动一:假设数组d中已有数据设计算法,完成学案中的程序代码,求数组d中值最小的元素的值及其下标
min=1
For i= 2 to 8
if d(i) ____________
end if
Next i
Print d(min),min
A、 d(min)=d(i) B、min=i C、d(min)=i D、min=d(i)
互学互研
活动二:
思考 :如表一中的数组数据,设计算法,交换数组d中元素的值,使得数组d中第一个元素(d[1])的值最小,如何实现?(小组交流,用自然语言描述)
2、用流程图完成算法设计
冒泡排序的基本思想:
逐遍加工,每一遍加工时,自下而上,依次比较相邻的两个数,小的数往上移,就像气泡,轻者上浮,所以称作冒泡排序(升序)。21世纪教育网版权所有
活动三:观看动画演示,并以小组为单位演练冒泡排序(升序)的过程
活动四:课堂检测
1、如表一中的数组数据,若按升序排列,并采用冒泡排序算法自右向左进行比较和交换,那么在第一遍数据比较交换后,数组元素d[5]的值是_______。21教育网
A、13.3 B、12.8 C、12.6 D、13.5
2、若按升序排列,并采用冒泡排序算法自右向左进行比较和交换,那么在第一遍排序中共进行了_____ 次数据比较和________ 次数据交换。21cnjy.com
A、7 5 B、6 5 C、7 4 D、6 4
深学深研
活动五:冒泡排序的算法实现(对表一升序排序)
流程图:
作业巩固:
1、利用冒泡排序对下列数组进行降序排序,写出完整过程。
d[1]
d[2]
d[3]
d[4]
d[5]
87
52
32
95
56
冒泡排序
第一遍排序后的数组:互换次数___3_
95
87
52
32
56
第二遍排序后的数组:互换次数______
第三遍排序后的数组:互换次数______
第四遍排序后的数组:互换次数______