1 //从min到max个连续整数中产生n个随机数 2 private static int[] GenerateNumbers(int min, int max, int n) 3 { 4 //seed array 长度 5 int seedNum = max - min + 1; 6 //seed array 7 int[] startArray = new int[seedNum]; 8 9 for (int i = 0; i < seedNum; i++) 10 { 11 startArray[i] = min++; 12 } 13 //随机数个数 14 int[] resultArray = new int[n];//结果存放在里面 15 Random rnd = new Random(); 16 for (int i = 0; i < n; i++) 17 { 18 int seed = rnd.Next(0, startArray.Length - i);//从剩下的随机数里生成 19 resultArray[i] = startArray[seed];//赋值给结果数组 20 //把随机数产生过的位置替换为未被选中的值。 21 startArray[seed] = startArray[startArray.Length - i - 1]; 22 } 23 24 return resultArray; 25 }
时间: 2024-12-19 09:44:57