Раскидать 100 заданных чисел в рандомном порядке

Задано 100 чисел в порядке возрастания, как можно быстро раскидать их рандомно?
3 года назад от ignorant .

1 ответ



0 голосов
Да хоть суй последовательно в новый массив по очереди на случайные позиции, избегая повторного засовывания. Или вытаскивай последовательно случайные элементы из имющегося массива - сначала случайный из ста, потом случаный из оставшихся 99 и т. д.
Аккуратно сделаешь - получишь две разновидности вот такого алгоритма:
ru. wikipedia. org/wiki/Тасование_Фишера_—_Йетса

Можно еще факториальную систему счисления заюзать ля генерации равномерно распределенной перестановки, но я бы не стал.
3 года назад от Константин Миронов

Связанные вопросы

1 ответ
1 ответ
3 года назад от Михаил Токарев