Lua 随机打乱数组:Fisher-Yates 洗牌算法与复制版本 分类于 编程语言 使用 Fisher-Yates 洗牌算法随机打乱 Lua 数组,说明原地修改和保留原数组的复制版本,并避免随机索引从 0 开始造成的偏差和空值问题。 使用 Fisher-Yates 原地打乱数组1234567local function shuffle(items) for i = #items, 2, -1 do local j = math.random(i) items[i], items[j] = items[j], items[i] end return itemsend 该算法从数组末尾开始,每次与当前位置之前的随机元素交换,时间复杂度为 O(n)。如需保留原始顺序,应先复制数组再调用 shuffle。 打赏 微信支付 支付宝 本文作者: 南锋 本文链接: https://lengmo714.top/52859.html 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!