![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]()
Доброго времени суток!
Есть N элементов массива, нужен алгоритм "псевдослучайного перемешивания" этого массива, зависящий от некоторой переменной, с условием, что если клонировать изначальный отсортированный массив и сохраненную переменную, новый перемешанный массив будет идентичен старому. Живой пример. Есть музыка ВКонтакте и кнопка "перемешать". Когда мы музыку перемешиваем (каждый раз по разному) у нас сохраняется уникальный (до обновления страницы) порядок перемешанных треков. Вот это перемешивание и нужно сохранить не прибегая к перечислению всех элементов с их новыми позициями. Реализацию писать не нужно, мне нужна сама идея алгоритма, или может дать информацию о уже готовом таком алгоритме. Получается некий shuffle hash. Так-же не откажусь от информации по гуглению таких вопросов ![]() Спасибо за ваши ответы! |
![]() |
![]() |
![]() |
#2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]() Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]() |
![]() |
![]() |
![]() |
#4 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]() Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
Только чтобы все варианты были равновероятны, менять i-й элемент надо с элементом не из 0..n-1, а из i..n-1.
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]() Цитата:
![]() Но в контексте темы он должен быть либо с встроенной псевдо-рандомизацией либо опираться на гпсч, а этот (второй) вариант уже подсказали ![]() |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перемешивание алфавита | novicepro | Общие вопросы Delphi | 7 | 05.10.2013 18:06 |
Случайное перемешивание | Opex911 | Помощь студентам | 21 | 26.09.2011 01:15 |
псевдослучайное число из промежутка [-n;n) | turtles | Общие вопросы по Java, Java SE, Kotlin | 4 | 23.08.2011 15:22 |
Перемешивание массива | revaldo666 | Общие вопросы C/C++ | 6 | 19.01.2011 15:04 |
Перемешивание строк | Черничный | БД в Delphi | 3 | 15.07.2008 14:11 |