devxlogo

ArrayShuffle – Shuffling the elements of an array of any type

ArrayShuffle – Shuffling the elements of an array of any type

 ' Shuffle the elements of an array of any type'' Example:'   Dim arr As Integer() = {3, 7, 8, 2, 0, 9}'   ArrayShuffle(arr)'   Dim o As Object'   For Each o In arr'       Debug.Write(o & " ")'   Next'   Debug.WriteLine("")Sub ArrayShuffle(ByVal arr As Array)    Dim i, newIndex As Integer    Dim tmpValue As Object    Dim rand As New Random    Dim first As Integer = arr.GetLowerBound(0)    Dim last As Integer = arr.GetUpperBound(0)    For i = last To first + 1 Step -1        ' evaluate a random index for the current item        newIndex = first + rand.Next(i + 1)        ' swap the two items        tmpValue = arr(i)        arr(i) = arr(newIndex)        arr(newIndex) = tmpValue    NextEnd Sub

devx-admin

Share the Post: