【发布时间】:2018-04-12 18:31:38
【问题描述】:
我创建了一个包含 24 个元素的数组。我想迭代一个循环 24 次,每次都从数组中取出所有元素并制作一个唯一的序列。
例如:
for(int i=0; i<4 ; i++)
array = [a,b,c,d]
我想要的输出是:
迭代1:abcd 迭代2:acdb 迭代3:bacd 迭代4:dcab具体的顺序并不重要。重要的是每次迭代的顺序必须是唯一的。
有人可以推荐一种方法吗?也许 C# 中有一些随机化功能?
【问题讨论】:
-
你试过什么?什么不起作用?
-
请向我们展示您到目前为止所做的尝试。
-
代码!给我们代码!
-
基本上你想要随机排列。 Eric Lippert 写了一篇关于如何产生排列的博客,然后你可以自己添加随机性ericlippert.com/2013/04/15/producing-permutations-part-one
-
这不是问题被关闭的副本。 似乎只是随机化一个序列,但当你仔细观察时,它实际上是关于排列,这是一个不同的问题。那里可能已经有一个很好的骗子了,但是如果我们要关闭这个,我们需要找到一个可以使用的。