Imports System
Public Class AClass
Public Shared Sub rearrange_array(ByVal arr As Integer())
Dim size As Integer = arr.Length
For i As Integer = 0 To size - 1
arr(i) += (arr(arr(i)) Mod size) * size
Next
For i As Integer = 0 To size - 1
arr(i) = arr(i) \ size
Next
End Sub
Public Shared Sub Main(ByVal args As String())
Dim arr As Integer() = New Integer() {3, 5, 0, 2, 1, 4}
' arr[arr[0]] = 2 -> arr[0] = 2
' arr[arr[1]] = 4 -> arr[1] = 4
' arr[arr[2]] = 3 -> arr[2] = 3
' arr[arr[3]] = 0 -> arr[3] = 0
' arr[arr[4]] = 5 -> arr[4] = 5
' arr[arr[5]] = 1 -> arr[5] = 1
rearrange_array(arr)
For Each val As Integer In arr
Console.Write(val & " ")
Next
End Sub
End Class
' run:
'
' 2 4 3 0 5 1
'