我一直在问随机数问题,我认为Fisher-Yates混洗将是最好的选择。我做一张桌子't'
t = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
现在,我什至将如何改组它们并能够单独使用它们,例如在另一个表
u
中生成结果u = {}
最佳答案
如果您的桌子上没有孔:
math.randomseed(os.time()) -- so that the results are always different
function FYShuffle( tInput )
local tReturn = {}
for i = #tInput, 1, -1 do
local j = math.random(i)
tInput[i], tInput[j] = tInput[j], tInput[i]
table.insert(tReturn, tInput[i])
end
return tReturn
end
关于lua - 您如何在Lua进行Fisher-Yates洗牌,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35572435/