算法 | 冒泡排序

【算法思想】

以升序为例:

(1)初始状态,有序区包含0个元素,无序区包含所有元素

(2)从无序区的末端(远离有序区的一端)开始,依次顺序比较相邻的两个元素大小,将较小的值交换到前一个元素位置。重复这一过程,直到无序区的最小值已经交换到无序区的首元素位置(位于有序区末端

(3)有序区+1,无序区-1

(4)重复(2)(3),直到无序区只包含1个元素时停止


【算法实例】

有一组数据89、15、24、61、23,问第二轮冒泡的第一次交换后数据排序的结果如何?

冒泡过程:

算法 | 冒泡排序_第1张图片

答:第二轮冒泡的第一次交换后数据排序结果为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

你可能感兴趣的:(算法 | 冒泡排序)