Imports System
Public Class Test
Public Shared Sub swap(arr() As Integer, i As Integer, j As Integer)
Dim tmp As Integer
tmp = arr(i)
arr(i) = arr(j)
arr(j) = tmp
End Sub
Public Shared Sub sort(arr() as Integer)
Dim start As Integer = 0
Dim endd As Integer = arr.Length - 1
Dim midd As Integer = 0
Dim tmp As Integer
Do While midd <= endd
Select Case arr(midd)
Case 0
swap(arr, start, midd)
start += 1
midd += 1
Case 1
midd += 1
Case 2
swap(arr, midd, endd)
endd -= 1
End Select
Loop
End Sub
Public Shared Sub Main()
Dim arr() As Integer = {2, 1, 0, 0, 1, 2, 2, 1, 1, 2}
sort(arr)
For i As Integer = 0 To arr.Length - 1
Console.Write("{0} ", arr(i))
Next
End Sub
End Class
' run
'
' 0 0 1 1 1 1 2 2 2 2