使用方法
- 在文本框里每行输入一个条目,可以是一个人名、一项任务或一个编号。
- 如需固定结果,可在「种子」框填入任意整数;留空则默认使用种子 1。
- 点击「打乱顺序」按钮,或在文本框按 Ctrl、Cmd 加回车触发。
- 结果区会按新顺序逐行输出条目,并标注原始行号便于核对。
- 点击「复制结果」即可把打乱后的顺序粘贴到别处使用。
如果你担心顺序过于随机导致相邻熟人扎堆,可以多次更换种子重排,挑一份看起来更均衡的结果;本工具不强制你用第一次输出,它只是把决策权交还给你,而不是替你做主。
这个 随机顺序生成器 能解决什么
很多生活和工作场景都需要「公平地随机排个序」:课堂点名、年会抽奖、任务分配、比赛对阵、读书会发言顺序等等。手动抽签费时,用 Excel 又嫌重,随机顺序生成器 把这些需求压缩成一个文本框加一个按钮,贴进去就能拿到一份随机但可复现的顺序。
它特别适合老师、活动组织者、团队负责人和任何需要做公平决策的人。相比抛硬币或抓阄,电子化洗牌更干净、可留痕,也避免了「刚才谁抽过了」的记忆混乱。你甚至可以当着所有人的面现场生成,结果当场可见、无可置疑。
本工具采用 Fisher-Yates 洗牌算法,并用固定种子的线性同余伪随机数驱动。只要种子和输入一致,无论在哪台设备、哪个时间点运行,得到的顺序都完全相同。这意味着你可以把种子告诉同伴,对方能独立复现出一模一样的顺序,过程公开透明。
所有洗牌都在浏览器本地完成,条目内容不会上传到任何服务器。对于内部考核、未公开的抽签名单等敏感内容,本地处理能保证信息不泄露,用起来更放心。
页面本身非常轻量,没有外部依赖,在手机上也能流畅打开。无论是临时起意要分个组,还是正式活动要留档,都能即开即用、不限次数。
在远程协作里,成员分散不同时区,口头抽签容易各说各话。把名单贴进本工具、约定一个种子,所有人按同一份输入运行,就能得到同一份顺序,省去反复确认「到底谁先」的拉扯,也留下可追溯的记录。
在课堂或培训中,用它来安排小组展示顺序,既公平又能让学生看到随机背后的算法逻辑,比老师主观排顺序更少争议,也顺便科普了一次「什么是可复现的随机」。
它还能当教学样例:Fisher-Yates 是学生理解「均匀随机」的经典算法,用本页现场演示「从后往前交换」的过程,比静态讲义更直观;因为结果可复现,老师可以预先算好答案再课堂验证,避免临场翻车。
原理和变量
算法从最后一个条目开始,依次与前面随机位置交换:对第 i 个位置,先更新种子 s = (s×1103515245+12345) & 0x7fffffff,再取 idx = floor(s / 2147483647 × (i+1)),把位置 i 与位置 idx 交换,直到 i 降到 1。这种从后往前的洗牌能均匀覆盖所有排列,不会出现某些顺序永远排不到的情况。种子决定整条随机序列,因此是可复现的关键。
之所以采用从后往前的交换顺序,而不是从头往后,是因为这样每一步的可选位置集合恰好覆盖剩余未固定部分,数学上能保证每种排列被抽中的概率相等。若是反过来写,往往会偏向某些顺序,长期看并不均匀,也不够严谨。
| 变量 | 含义 | 示例 | 范围 |
|---|---|---|---|
| 条目数 | 输入里非空行的数量 | 6 | 任意正整数 |
| 种子 | 驱动洗牌的确定性整数 | 1 | 任意整数,留空为 1 |
| 输出顺序 | 由种子与条目共同决定的排列 | 固定序列 | 计算得出 |
完整示例
以默认六个名字、种子 1 为例,工具把六行依次送入 Fisher-Yates 洗牌,得到这六个名字的一种固定新排列,并在每行前标注它原来的行号。因为种子固定,任何人用相同输入都会得到完全相同的顺序,你可以把结果截图发给同伴,对方用同一条目和同一种子一定能复现出同样的新顺序。
如果你改填种子 42,整条随机序列随之改变,顺序就会不同;但只要种子回到 1,顺序立刻还原。这种「改种子换顺序、记种子可还原」的特性,特别适合需要反复演示或留档的抽签场景。
当条目只有两行时,洗牌只发生一次交换,结果非此即彼;条目越多,可能的排列呈阶乘级增长,种子空间虽固定但足够日常使用。你随时可以换一个种子重排,或把当前种子记下来以便日后还原同一份顺序。
把结果复制进表格软件后,原始行号列能帮你快速回溯「新第 3 位原本是第几位」,在需要向当事人解释顺序来历时特别有用,也方便做抽签公证与留档查询。
随机排序常见用途对照表
下表列出随机排序的典型用途、适用条目与说明。表格行数较多,点击「加载更多」展开剩余内容,也可用 CSV 或 TSV 按钮导出。
| 用途 | 适用条目 | 说明 |
|---|---|---|
| 课堂点名 | 学生名单 | 公平决定发言或答题顺序 |
| 任务分配 | 待办清单 | 打破选择困难,随机定先后 |
| 抽奖顺序 | 参与者编号 | 决定领奖或登台的次序 |
| 比赛对阵 | 选手编号 | 随机排赛程避免人为安排 |
| 分组配对 | 成员姓名 | 随机两两或多人分组 |
| 读书会发言 | 书友昵称 | 轮换分享顺序更均衡 |
| 值班排班 | 员工姓名 | 随机初排再人工微调 |
| 问卷顺序 | 题目编号 | 随机呈现降低顺序偏差 |
| 礼物抽取 | 亲友名字 | 年会抽礼物随机又透明 |
| 运动分组 | 队员姓名 | 随机分队保证实力均衡 |
| 面试顺序 | 候选人编号 | 随机排号体现公平 |
| 游戏回合 | 玩家昵称 | 随机决定出招先后 |
| 菜单抉择 | 菜品名称 | 替选择困难症随机定一顿 |
| 座位安排 | 参会者姓名 | 随机落座促进交流 |
| 作业抽查 | 学号列表 | 随机抽改减轻负担 |
| 路线顺序 | 目的地名称 | 随机排旅行打卡次序 |
结果边界与错误提示
- 条目为空时,提示「请先在文本框里每行输入一个条目,再点打乱」。
- 只有一行条目时,提示「至少需要两行才能打乱顺序,请再补充一行」。
- 种子不是整数时,提示「种子必须是整数,请检查种子输入框,或留空使用默认 1」。
- 种子含小数时按整数处理,例如 3.9 视为 3。
- 空白行会被自动忽略,不会当成空条目参与洗牌。
- 结果区每行标注原始行号,便于你回查原本位置。
- 复制失败时通常是浏览器未授权剪贴板,可手动选择文本复制。
- 所有洗牌均为本地计算,不调用任何远程接口,离线可用。
常见问题
为什么每次用同一种子结果都一样?
因为本工具用固定种子驱动伪随机序列,目的是保证可复现,方便你公示、留档和同伴独立核对。
不填种子会用哪个?
留空时默认使用种子 1,因此不填种子也能得到一份确定的顺序,适合只想快速打乱的场景。
种子可以是负数吗?
可以,整数即可,包括负数与零;不同的整数对应不同的洗牌序列,随意更换就能换顺序。
条目最多能输多少行?
没有硬性上限,页面在本地处理,几十条甚至上百条都能正常洗牌,只是结果区会随条目变长。
结果会重复或漏项吗?
不会。Fisher-Yates 是保排列算法,原条目一个不少、一个不重地重新排列。
我的条目会被保存吗?
不会。内容仅存在于当前页面,刷新或关闭即消失,没有任何上传或存储行为。
对照表能导出吗?
可以,点击「导出 CSV」下载带表头的数据,点击「复制 TSV」则可直接粘贴进表格软件。
和掷骰子比有什么优势?
它可留痕、可复现、可多人独立验证,且不受物理骰子数量限制,适合正式或公开场合。