CalcToolsLab

Перемешать список онлайн

Перемешайте строки списка в случайном порядке: seed для повторяемости, разнесение дублей, режим без старых мест, TXT/CSV и таблица «было → стало».

5 строк

Пустое поле использует обычный браузерный Math.random(); один и тот же seed повторяет порядок.

Перемешать строки в случайном порядке

Вставьте список по одному элементу на строку — инструмент вернёт те же строки в случайной очерёдности. Все непустые элементы сохраняются, пустые строки игнорируются, а пробелы по краям каждой строки обрезаются.

Подходит для очереди выступлений, рассадки, плейлиста, вопросов теста, дежурств и бытовой жеребьёвки порядка. Это именно перемешивание всего списка, а не выбор победителя и не деление на команды.

Как пользоваться

  1. Вставьте элементы по одному на строку.
  2. Выберите опции: нумерацию для копирования, разнесение одинаковых строк, запрет оставаться на старом месте или seed.
  3. Нажмите «Перемешать» или клавишу Space, когда фокус не в поле ввода.
  4. Скопируйте результат, скачайте TXT/CSV или раскройте таблицу «было → стало».

Опция «С нумерацией» влияет на копируемый TXT-результат: к строкам добавляются `1.`, `2.`, `3.`. Визуальный список на странице показывает номера позиций всегда.

Для Excel и Google Sheets скопируйте колонку, вставьте её в поле, перемешайте и скопируйте результат обратно. Переносы строк сохраняют построчный формат, поэтому итог обычно вставляется обратно как столбец.

Как работает случайное перемешивание

Обычное перемешивание использует алгоритм Фишера–Йетса: инструмент проходит список с конца к началу, выбирает случайный индекс и меняет элементы местами. Такой подход предназначен именно для shuffle и не имеет перекоса, характерного для `array.sort(() => Math.random() - 0.5)`.

На каждом шаге алгоритм выбирает случайную позицию среди ещё незафиксированной части списка. Индексы считаются с нуля.

j — выбранный индекс для обмена, r — псевдослучайное число от 0 до 1, i — последний индекс текущей незафиксированной части списка.

Если все строки разные, количество возможных порядков быстро растёт с длиной списка. Перестановка здесь означает один возможный порядок этих строк.

N — количество разных строк в списке, N! — число всех возможных порядков для этих строк.

Если seed не задан, источником случайности является браузерный `Math.random()`. Он подходит для бытовых задач, учебных очередей и неофициальных командных процедур, но не является криптографическим генератором и не подходит для паролей, денежных конкурсов или юридически значимых розыгрышей.

seed — заданная строка, h — внутреннее состояние после хеширования, r_1, r_2, ... — последовательность псевдослучайных чисел.

Заданная строка хешируется во внутреннее состояние, после чего генератор получает одну и ту же последовательность для того же списка и того же seed. Это удобно для воспроизводимости, но не делает розыгрыш официальным или криптографически стойким.

Если указать seed, один и тот же список с тем же seed будет давать один и тот же порядок. Это удобно, когда нужно воспроизвести командную процедуру без сохранения результата в URL.

Опции для дублей и старых мест

Опция «Без соседних дублей» строит порядок так, чтобы одинаковые строки не стояли рядом, если это математически возможно. Если один элемент встречается больше половины списка, разнести его без соседства невозможно, и инструмент покажет ошибку вместо сомнительного результата.

Опция «Не оставлять на старом месте» пытается сделать перестановку без фиксированных позиций: строка с первой позиции не остаётся первой, со второй — второй и так далее. Для списков с повторяющимся одинаковым текстом это ограничение может быть невыполнимо.

Одинаковые строки считаются отдельными элементами, но в таблице «было → стало» они визуально могут выглядеть одинаково. Для точного отслеживания добавьте к строкам номера или пояснения до перемешивания.

Сценарии использования

СценарийЧто в спискеПолезные опции
Выступления на конференцииИмена спикеровС нумерацией
Игровая очерёдностьИгрокиSeed для повторяемости
Рассадка студентовФИО учениковБез соседних дублей
Случайный плейлистНазвания трековС нумерацией
Тест с вопросамиФормулировки вопросовС нумерацией
Расписание дежурствИмена дежурныхНе оставлять на старом месте
План задачЗадачи командыCSV/TXT экспорт

Чем отличается от других инструментов

ЗадачаЧто выбрать
Случайно переставить все строкиПеремешать список
Выбрать одного или несколько победителейСлучайный выбор из списка
Показать визуальный розыгрышКолесо фортуны
Упорядочить строки по правилуСортировка списка
Распределить участников по командамРазделить список на группы
Убрать повторяющиеся строкиУдаление дубликатов

Ограничения и честность результата

  • Результат не является официальным протоколом розыгрыша: нет публичного журнала, подписи результата и независимого источника случайности.
  • Для призов, денег, азартных игр и юридически значимых процедур нужен отдельный проверяемый процесс.
  • История последних перемешиваний хранится только в текущей вкладке страницы.
  • TXT и CSV экспортируют итоговый порядок, но не фиксируют доказательство честности.
  • Если порядок случайно совпал с исходным или почти не изменился, это не ошибка: на коротких списках такое заметнее.

Часто задаваемые вопросы

Источники и нормативная база

Расчёты выполняются на основе указанных нормативных и справочных источников. Ссылки открываются в новой вкладке.

Обновлено:

Похожие инструменты

Случайный выбор из списка

Выберите случайный элемент или до 1000 результатов из списка строк. Есть режим без повторов, удаление дублей, копирование и история текущей сессии.

Открыть
Колесо фортуны

Интерактивное колесо фортуны для розыгрышей и случайного выбора. Веса вариантов, режим на выбывание, звук, история победителей, сохранение списка и запуск пробелом.

Открыть
Сортировка списка

Отсортируйте список по алфавиту, natural sort, числам, длине, полю строки, случайно или в обратном порядке. Локаль, дубликаты, TXT-экспорт.

Открыть
Разделить список на группы

Разбейте список на N групп или группы по N элементов. Случайное распределение, балансировка остатка, экспорт CSV/JSON/TXT.

Открыть
Сравнение двух списков

Сравните два списка: совпадения, отличия, только в первом, только во втором, режимы set/multiset, диаграмма Венна и экспорт CSV/JSON.

Открыть
Удаление дубликатов

Удалите повторяющиеся строки из списка или, наоборот, найдите только дубли. Сохранение первого/последнего вхождения, без учёта регистра, копирование и TXT.

Открыть