作者wvsrugby (wvsrugby)
看板C_Sharp
标题Re: 怎麽让乱数不重复
时间Thu Nov 12 23:42:39 2009
※ 引述《sy21113 (董小妤)》之铭言:
: C#
: Random rd = new Random();
: for (i=0;i<20;i++)
: {
: x=rd.Next(a,b);
: Console.Write(" {0}",x);
: }
: 如何让乱数不重复
static T[] Shuffle<T>(IEnumerable<T> values)
{
List<T> list = new List<T>(values);
T tmp; int j;
Random r = new Random();
for (int i = 0; i < list.Count; i++)
{
j = r.Next(i, list.Count);
tmp = list[i]; list[i] = list[j];
list[j] = tmp;
}
return list.ToArray();
}
void test()
{
int[] idx = new int[36];
for (int i = 0; i < idx.Length; i++)
idx[i] = i;
idx = Shuffle<int>(idx);
for (int i = 0; i < idx.Length; i++)
Console.WriteLine(idx[i]);
}
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.117.210.223