VB.net - Перемешивание массива
Для большинства программ, основанных на генерации случайных чисел, очень полезна процедура перемешивания массива.
В отличие от получения случайного элемента массива, перемешивание позволяет избежать повторного использования элемента.
Таким образом у вас всегда есть уникальный элемент.
В моих программах эта процедура встречается очень часто, и что бы упростить код, я сделал ее зависимой от массива.
На входе подаем любой массив. Запускаем подпрограмму перемешивания данного массива. И на выходе получаем перемешанный массив.
'перемешивание массива
Public Sub mixx(mas As Array)
Dim element1, element2, x, y
Randomize()
For i = 0 To 10000
x = Int(Rnd() * mas.Length) 'Определили случ элем массива с номером х
y = Int(Rnd() * mas.Length) 'Определили случ элем массива с номером y
element1 = mas(x) 'Запомнили значение случ х-элем массива
element2 = mas(y) 'Запомнили значение случ y-элем массива
mas(y) = element1 'Присвоили случ x элем значение y элем
mas(x) = element2 'Присвоили случ y элем значение x элем
Next
End Sub
* случ элем = случайный элемент
В начало
Параллельное перемешивание массива
Тренировка мозга 1
|