【算法思想】
以升序为例:

(1)初始状态,有序区包含0个元素,无序区包含所有元素
(2)从无序区的末端(远离有序区的一端)开始,依次顺序比较相邻的两个元素大小,将较小的值交换到前一个元素位置。重复这一过程,直到无序区的最小值已经交换到无序区的首元素位置(位于有序区末端)
(3)有序区+1,无序区-1
(4)重复(2)(3),直到无序区只包含1个元素时停止
【算法实例】
有一组数据89、15、24、61、23,问第二轮冒泡的第一次交换后数据排序的结果如何?
冒泡过程:

答:第二轮冒泡的第一次交换后数据排序结果为15、23、89、24、61
VB程序:
For i=1 To n-1
For j=n To i+1 Step-1
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
网友评论