Re: масив чисел
- From
- Sergey Andrianov (2:5020/1507.400)
- To
- Evgenij Masherov
- Date
- 2003-01-03T23:13:42Z
- Area
- RU.ALGORITHMS
Здравствуй, Evgenij!
Однажды 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)