How to reorder an array according to given indexes in VB.NET

1 Answer

0 votes
Imports System
 
Public Class Program
    Public Shared Sub print(ByVal arr As Integer())
        Dim size As Integer = arr.Length
 
        For i As Integer = 0 To size - 1
            Console.Write(arr(i) & " ")
        Next
 
	Console.WriteLine()
    End Sub
 
    Public Shared Sub reorder(ByVal arr As Integer(), ByVal indexes As Integer(), ByVal i As Integer)
        Dim size As Integer = arr.Length
 
        If i < size Then
            Dim data As Integer = arr(i)
            reorder(arr, indexes, i + 1)
            arr(indexes(i)) = data
        End If
    End Sub
 
    Public Shared Sub Main()
        Dim arr As Integer() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
        Dim indexes As Integer() = {1, 0, 4, 3, 2, 5, 9, 7, 8, 6}
     
        print(arr)
        print(indexes)
     
        reorder(arr, indexes, 0)
     
        print(arr)
    End Sub
End Class
 
 
 
 
' run:
'
' 1 2 3 4 5 6 7 8 9 10 
' 1 0 4 3 2 5 9 7 8 6 
' 2 1 5 4 3 6 10 8 9 7
'

 



answered Nov 28, 2021 by avibootz
edited Nov 29, 2021 by avibootz

Related questions

1 answer 271 views
1 answer 198 views
1 answer 209 views
1 answer 214 views
1 answer 208 views
1 answer 266 views
1 answer 206 views
...