我需要以最有效的方式随机“整理”整数列表(0-1999)。有任何想法吗?在C#中随机“整理”(整理)整数列表的最有效方法
目前,我做这样的事情:
bool[] bIndexSet = new bool[iItemCount];
for (int iCurIndex = 0; iCurIndex < iItemCount; iCurIndex++)
{
int iSwapIndex = random.Next(iItemCount);
if (!bIndexSet[iSwapIndex] && iSwapIndex != iCurIndex)
{
int iTemp = values[iSwapIndex];
values[iSwapIndex] = values[iCurIndex];
values[iCurIndex] = values[iSwapIndex];
bIndexSet[iCurIndex] = true;
bIndexSet[iSwapIndex] = true;
}
}
请注意,您将创建一个iTemp var,但不要使用它。这当然会引起问题。 – Aistina 2008-12-17 17:49:38
啊,是的。我打算分配值[iCurIndex] = iTemp。 – Carl 2008-12-17 17:54:44
更好的方式来说这可能是“最有效的方法来创建一个整数列表的随机排列” – ICR 2008-12-17 18:06:58