How to rearrange an array and set arr[i] to i in VB.NET

1 Answer

0 votes
Imports System

Public Class Example
    Public Shared Sub ArrayRearrange(ByVal arr As Integer())
        Dim size As Integer = arr.Length
        Dim i As Integer = 0

        While i < size
            If arr(i) >= 0 AndAlso arr(i) <> i Then
                Dim temp As Integer = arr(arr(i))
                arr(arr(i)) = arr(i)
                arr(i) = temp
            Else
                i += 1
            End If
        End While
    End Sub

    Public Shared Sub Main(ByVal args As String())
        Dim arr As Integer() = New Integer() {9, 0, 4, 2, 7, 6, 8, 3, 1, 5}
        ArrayRearrange(arr)

        For i As Integer = 0 To arr.Length - 1
            Console.Write(arr(i) & " ")
        Next
    End Sub
End Class



' run:
'
' 0 1 2 3 4 5 6 7 8 9
'

 



answered Dec 21, 2022 by avibootz

Related questions

1 answer 150 views
1 answer 130 views
1 answer 125 views
1 answer 153 views
1 answer 116 views
1 answer 115 views
...