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