题目:产生n个的1到n的不重复随机数。
解题思路:遍历改数组,将当前位置的数与随机位置的数交换。
c#描述如下:
解题思路:遍历改数组,将当前位置的数与随机位置的数交换。
c#描述如下:
int[] data = new int[100000000];
Random r = new Random();
for (int i = 1; i <= data.Length; ++i)
{
data[i-1] = i;
}
for (int i = 0; i < data.Length; ++i)
{
int rNum = r.Next(data.Length);
int temp = data[i];
data[i] = data[rNum];
data[rNum] = temp;
}