【发布时间】:2018-10-11 15:40:30
【问题描述】:
我发现很难确定地洗牌一个数组,即在 Rust 中使用随机种子。我想要实现的目标(在伪代码中):
let v = vec![0, 1, 2, 3];
pseudo_shuffle(v, randomSeed1) // always produces e.g. [3,1,2,0]
pseudo_shuffle(v, randomSeed2) // always produces e.g. [0,2,3,1]
In another Stack Overflow answer 我学会了如何使用rand::Rng::shuffle() 来不确定地洗牌向量,但它似乎没有提供将随机种子应用于生成函数的 API,我遇到了困难我自己想出了一个解决方案,它不使用一些荒谬的n! 复杂性算法。
【问题讨论】:
标签: random rust shuffle random-seed