[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Случайно-статическое упорядочивание массива
LRCenter
Нетривиальная задачка. Даже не знаю как к ней подступиться cool.gif

Есть массив с набором элементов. Требуется перемешать его элементы в случайном порядке, так как это делает shuffle(), с одним но: второй входной параметр - строка определяющая порядок псевдослучайного перемешивания.

Одна строка дает постоянный порядок выходного массива. Меняем строку - меняется порядок.

Интересны ваши мысли по поводу возможных алгоритмов решения.

_____________
Меньше кода - меньше багов ©
Valick
Если есть строка определяющая порядок, язык не покалывает называть это перемешиванием в случайном порядке?

_____________
Стимулятор ~yoomoney - 41001303250491
LRCenter
Valick
Ну конечно, прошу прощения, я имел в виду что результат работы должен быть схож с shuffle(), но порядок сортировки выходного массива всегда одинаков для одной и той же строки.

_____________
Меньше кода - меньше багов ©
Valick
LRCenter, на сколько большой массив может быть?


_____________
Стимулятор ~yoomoney - 41001303250491
LRCenter
Valick

Ну пускай, до 1000 элементов, и с разным типом ключей, в том числе ассоциативным.

_____________
Меньше кода - меньше багов ©
Valick
Цитата
и с разным типом ключей, в том числе ассоциативным

тогда только с использованием БД, других решений пока не вижу
перемешиваете массив, сериализуете его, снимаете хеш и пишите в базу сам хеш и весь сериализованный массив, сосбсно хеш и будет являться ключом.
___
при желании в базу можно перебрать все существующие варианты, если конечно массив небольшой и есть некоторое количество свободного процессорного времени smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
LRCenter
Хм, такое решение лежит на поверхности. huh.gif

Мне именно алгоритм получения (восстановления) выходных данных, на основе входных интересен.

_____________
Меньше кода - меньше багов ©
Valick
Цитата
Хм, такое решение лежит на поверхности.

значит я недальновидный дурачок smile.gif


_____________
Стимулятор ~yoomoney - 41001303250491
LRCenter
Valick
У меня тоже нет вариантов решения smile.gif

_____________
Меньше кода - меньше багов ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.