我需要以最有效的方式隨機「整理」整數列表(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