我在维基百科上发现了一段Java代码,它应该将数组调整到位:
public static void shuffle (int[] array)
{
Random rng = new Random();
int n = array.length;
while (n > 1)
{
n--;
int k = rng.nextInt(n + 1);
int tmp = array[k];
array[k] = array[n];
array[n] = tmp;
}
}
Run Code Online (Sandbox Code Playgroud)
虽然我没有测试代码,但它看起来应该可以正常使用数组.在我的C#项目中,我创建了一个CardSet类,并在Shuffle()方法中使用了上面的代码:
public class CardSet
{
private List<Card> cards;
public Card this[int i]
{
get { return cards[i]; }
set { cards[i] = value; }
}
public void Shuffle()
{
Random rng = new …Run Code Online (Sandbox Code Playgroud)