|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Andrianov 2:5020/1507.400 04 Jan 2003 00:13:42 To : Evgenij Masherov Subject : Re: масив чисел -------------------------------------------------------------------------------- Однажды 01-Jan-03 в 13:01 Evgenij Masherov (2:5020/175.2) написал Igor Kasyanchuk по поводу -=- масив чисел -=- IK>>>> Kак в масив А(10) можно закинуть 10 разных чисел от 0 до 9 чтобы IK>>>> числа в масиве на ПОВТОРЯЛИСЬ . IK>>>> например 2 5 6 7 0 3 4 9 8 1 IK>>>> 7 5 4 3 8 9 1 2 0 6 SA>>> Заполнить последовательными, заием перемешать. IK>> Я понял что заполнить , А KАK ПЕРЕМЕШАТЬ , но надо так что бы IK>> комбинации IK>> не повторялись (хотябы их было ""100) . EM> 100% надежный способ - связать с данным массивом А вспомогательный массив В, EM> заполнить его случайными числами и отсортировать, причем при каждой EM> перестановке элементов В переставлять те же (по индексу) элементы массива А. EM> Вариант с тасовкой, а-ля сдача карт, когда массив делится на две части EM> слуяайным образом и переставляется, требует для хорошего перемешивания EM> слишком много шагов, а при небольшом количестве качесто перемешивания EM> плохое... Сложность сортировки N*log(N), плюс к тому и константа не слишком мала. Если заботиться о скорости, то следует один раз пройти по массиву, меняя текущий элемент со случайно выбранным. До свидания, в 23:12 MSK Sergey --- * Origin: Sergiev Posad (2:5020/1507.400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/52053E161927.html, оценка из 5, голосов 10
|