所以我创建了一个数组并对其进行了洗牌,我想检查数组是否具有偶数排列。任何人都知道如何做到这一点?
totalTiles = (column * row) ;
int[] randomNumberArray = new int[totalTiles];
for (int p = 0; p < totalTiles; p++)
{
randomNumberArray[p] = number;
number++;
}
Shuffle(randomNumberArray);
洗牌阵列的方法
static void Shuffle <T>(T[] array)
{
Random _random = new Random();
int n = array.Length;
for (int i = 0; i < n; i++)
{
int r = i + _random.Next(n - i);
T t = array[r];
array[r] = array[i];
array[i] = t;
}
}
答案 0 :(得分:0)
这可能有帮助吗? https://en.wikipedia.org/wiki/Heap%27s_algorithm生成排列,然后检查% 2 == 0
是否均匀?只是一个猜测。
procedure generate(n : integer, A : array of any):
if n = 1 then
output(A)
else
for i := 0; i < n - 1; i += 1 do
generate(n - 1, A)
if n is even then
swap(A[i], A[n-1])
else
swap(A[0], A[n-1])
end if
end for
generate(n - 1, A)
end if
快速从维基页面中删除。