一 定义:
所谓冒泡排序,形象的来说就是在将一组数据从小到大排序时,大的数据分量比较重往往沉底,小的数据分量轻好比水中的气泡,往上浮。 通常说 浮小沉大。 然后反复进行,直到排好序列。
二 实例:
第一次排序:
原序列
序号 | 1 | 2 | 3 | 4 | 5 |
序列 | 10 | 6 | 9 | 7 | 8 |
第一步:比较第1与第2,浮小沉大,即红色部分
序号 | 1 | 2 | 3 | 4 | 5 |
序列 | 6 | 10 | 9 | 7 | 8 |
第二步:比较第2与第3,浮小沉大,即红色部分
序号 | 1 | 2 | 3 | 4 | 5 |
序列 | 6 | 9 | 10 | 7 | 8 |
第三步:比较第3与第4,浮小沉大,即红色部分
序号 | 1 | 2 | 3 | 4 | 5 |
序列 | 6 | 9 | 7 | 10 | 8 |
第四步:比较第4与第5,浮小沉大,即红色部分
序号 | 1 | 2 | 3 | 4 | 5 |
序列 | 6 | 9 | 7 | 8 | 10 |
Tips:第一次排序结束,把最大的拍到了最右边。然后再从头开始,进行第二次排序。将二大的排到倒数第二大的位置。一次类推,直到排序完成为止。一共要进行4次排序。
思考:你会按照从大到小排序么?
下面是VB程序代码
Dim a(4) as integer
For i = 1 To 4
For j = 0 To 4 - i
If a(j) > a(j + 1) Then
t = a(j)
a(j) = a(j + 1)
a(j + 1) = t
End If
Next j
Next i
For i = 0 To 4
Print a(i);
Next i
全部流程图: