内容正文:
一周一回练----冒泡排序
一、冒泡排序:是指把n个要排序的数看成一垂直列。从最下面的数开始两两比较相邻的两个数,把小的数向上换,经过n-1遍处理以达到排序目的的一种排序方法。次
次
次
次
次
次
d(3)…d(4)
d(2)…d(4)
d(1)…d(4)
经过比较次数:
交换次数:
比较范围:
第3遍排序结果
第2遍排序结果
第1遍排序结果
原始序列
n个元素的无序序列,完成排序。
· 最多需要几遍排序: 。
· 需要经过的比较次数: 。
· 最多需要的交换次数: 。
二、冒泡排序算法实现排序的方向:
排序的结果:
排序的方向:
排序的结果:
For i = 1 to n-1 ‘完成几遍排序
For j = 1 to n-i ‘比较范围和方向(第一遍排序的范围)
if d(j)<d(j+1) then ‘条件决定升降序
m=d(j) :d(j)=d(j+1):d(j+1)=m ‘数值交换
end if
Next j
Next i
For i = 1 to n-1 ‘完成几遍排序
For j = n to i+1 step -1 ‘比较范围和方向(第一遍排序的范围)
if d(j)<d(j-1) then ‘条件决定升降序
m=d(j) :d(j)=d(j-1):d(j-1)=m ‘数值交换
end if
Next j
Next i
三、实战演练
1.有一个数组,采用冒泡排序,第一遍排序后的结果为:4,10,5,32,6,7,9,17,24那么该数组的原始顺序不可能的是 ( )
A.10,5,32,6,7,9,17,24,4 B. 10,5,32,6,7,9,4,17,24[来源:学&科& C.10,5,32,4,6,7,9,17,24 D. 4,10,5,32,17,