int
。数组的大小只有 3(或更多)。我需要随机化它们的顺序并返回一个新数组。虽然是纯算法题,但是首选的答案语言是go。,使用python,如何以随机顺序输出列表?答案是random.shuffle
。使用 go,https://yourbasic.org/golang/shuffle-slice-array/,答案应该是
rand.shuffle
。,但是,这是我的代码:,https://go.dev/play/p/cvu8_q96-9f,这是我的测试运行结果之一:,这似乎不是很随机。,对于短的三元素数组有更好的随机化有什么好主意吗?,顺便说一句,,如何使用 vhdl 以随机顺序输出数组元素说使用线性反馈移位寄存器,但我认为这对于这个问题来说不是一个好主意。如何随机化(打乱)javascript 数组?给出了 durstenfeld 洗牌算法,fisher-yates 的优化版本.但我认为它的结果将与 go 的
rand.shuffle
非常相似。是吗?,将 random.seed
从随机播放函数移至主函数。每个程序只能进行一次 prng 的播种,随机性的成功模仿是通过生成器的状态转换而不是种子来完成的。除非您真正了解 prng 的工作原理并出于可重复性等原因尝试明确控制该过程,否则请勿重新播种。,对代码进行以下简单修改即可满足您的需求:,这会产生如下结果:,