基本原理:
- 是从数组索引0的位置开始,与数组其它索引进行比较。如果比我小,则我们两个交换位置。
- 然后,从1开始做类似的操作。
- 不是稳定的排序,因为有相同数字时,例如{(2),7,【2】,1},(2)会和1交换位置,导致(2)与【2】的索引顺序发生了变化。
具体实现步骤:
- 定义用于交换数组元素的方法:
1 Private Sub swap(ByVal array() as Short,ByVal a as Short,ByVal b as Short) 2 array(a) = array(a) Xor array(b) 3 array(b) = array(a) Xor array(b) 4 array(a) = array(a) Xor array(b) 5 End Sub
2. 外层循环控制逐个取出数字i,最后一位不必要
3.内层循环控制让取出的数字i同数组中其它数字进行比较j = i+1 ; j++
4.得到最小数字的索引min,并交换位置
1 Private Sub sort(ByVal array() as Short) 2 Dim i,j as Short 3 Dim min as Short 4 For i=0 To array.Length - 2 5 min = i 6 For j = i + 1 To Length - 1 7 If(array(j) < array(min)) Then 8 min = j 9 End If 10 Next 11 If min <> i Then 12 swap(array,i,min) 13 End If 14 Next 15 End Sub