Image[] icons = { image12, image9, image11, image12, image10, image9, image11, image1, image12, image9, image11, image10, image12, image9, image10, image11, image9, image10, image12, image11 };
for (int i = 0; i < 20; i++)
{
newicon[i] = icons[rnd.Next(0, 19)];
}
我試圖採取的「圖標」列表,並加擾它們而不重複它們
基本上我需要 1圖像1,5圖像9,4 image10,5個image11和5個image12的輸出,但不能超過每個的數量。我試過的所有東西都以更多的其他圖像結束,並且沒有image1或多個image1's。
我已經完成了這個數字,這往往不是一個問題,但我無法弄清楚圖像。此外,我無法找到任何關於在重複列表中洗牌圖像的問題。
需要注意的是,它需要'O(n ln n)'運行時間,因爲它依賴於排序。Fisher-Yates是'O(n)'。 20個項目可能無關緊要,但很有必要了解其中的差異。 –
公平點,沒有考慮到這一點。 –
這就是我所需要的。我在嘗試第一個響應時沒有注意到這一點。每次運行時,它都是我想要的,不重複。我不知道我在另一個人身上做了什麼錯,但我無法讓它停止重複這一個。 – user2296611