算法 | 选择排序

【算法思想】

以升序为例:

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

(2)顺序扫描无序区,找出无序区中的最小数

(3)将找到的最小数与无序区的首元素(位于有序区末端)进行交换

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

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


【算法实例】

数据89、15、24、61、23,进行选择排序的过程如下:

算法 | 选择排序_第1张图片

VB程序:

For i = 1 To n-1

        k = i

        For j = i+1 To n

                If a(j) < a(k) Then k = j

        Next j

        If i<>k Then

                t = a(i) : a(i) = a(k) : a(k) = t

        End If

Next i

你可能感兴趣的:(算法 | 选择排序)