Module Module1
Sub Main()
Dim arr(20 - 1) As Integer
Randomize()
For i As Integer = 0 To arr.Length - 1
arr(i) = Int(Rnd() * 1000) + 1
Next
SelectionSort(arr)
For Each number In arr
Console.WriteLine(number)
Next
End Sub
Public Sub SelectionSort(ByRef arr As Integer())
Dim min As Integer
For i As Integer = 0 To arr.Length - 2
min = i
For j As Integer = i + 1 To arr.Length - 1
If arr(j) < arr(min) Then
min = j
End If
Next
Dim tmp As Integer = arr(min)
arr(min) = arr(i)
arr(i) = tmp
Next
End Sub
End Module
' run:
'
' 41
' 97
' 102
' 160
' 194
' 230
' 237
' 474
' 497
' 529
' 547
' 548
' 583
' 589
' 716
' 719
' 796
' 806
' 877
' 890