1 //seed array 2 int startArray[] = {0,1,2,3,4,5,6,7,8,9}; 3 //随机数个数 4 int N = 10; 5 //结果存放在里面 6 int resultArray[] = new int [10]; 7 for(int i = 0; i < N; i++) 8 { 9 //从剩下的随机数里生成 10 int seed = random(0, startArray.length - i); 11 //赋值给结果数组 12 resultArray[i] = startArray[seed]; 13 //把随机数产生过的位置替换为未被选中的值 14 startArray[seed] = startArray[startArray.length - i - 1]; 15 }
今儿写一段生成随机数的东西,需要用到产生N个“不重复”的随机数算法,研究了半天,找到一种快速的解决办法。