Public Sub sort(ByVal list() As Integer)
Dim i As Integer, temp As Integer
Dim done As Boolean = False
Dim j As Integer = 1
While (j < list.Length) AndAlso (Not done)
done = True
For i = 0 To list.Length - j - 1
If list(i) > list(i + 1) Then
done = False
temp = list(i)
list(i) = list(i + 1)
list(i + 1) = temp
End If
Next
j = j + 1
End While
Dim i As Integer, temp As Integer
Dim done As Boolean = False
Dim j As Integer = 1
While (j < list.Length) AndAlso (Not done)
done = True
For i = 0 To list.Length - j - 1
If list(i) > list(i + 1) Then
done = False
temp = list(i)
list(i) = list(i + 1)
list(i + 1) = temp
End If
Next
j = j + 1
End While
End Sub
调用算法:
Public Sub test()
Dim datas(10) As Integer
datas(0) = 654
datas(1) = 512
datas(2) = 147
datas(3) = 30
datas(4) = 940
datas(5) = 369
datas(6) = 564
datas(7) = 123
datas(8) = 258
datas(9) = 7456
datas(10) = 0
sort(datas)
End Sub