隨機產生陣列的下標,不直接產生數,我舉隨機產生0~9的隨機數
int[] num = new int[10];
int[] newNum = new int[10];
int i,r = 9;
int n;
int tmp;
Random rand = new Random();
for (i = 0; i
{
num[i] = i;
}
///這個演算法只需要迴圈你的數範圍的次數而已
n = rand.Next(0, r);//隨機產生一個0~9之間的數,r的初始值是9
newNum[i] = num[n];//把產生的隨機數當成num的下標賦給newNum陣列
tmp = num[n];//然後把num[n]和它最後一個數交換(num[r]),這是避免重複
num[n] = num[r];
num[r] = tmp;
r--;//自減,下次產生的隨機數就可以從0到8了,
Console.Write("{0} ", newNum[i]);
Console.Read();
隨機產生陣列的下標,不直接產生數,我舉隨機產生0~9的隨機數
int[] num = new int[10];
int[] newNum = new int[10];
int i,r = 9;
int n;
int tmp;
Random rand = new Random();
for (i = 0; i
{
num[i] = i;
}
///這個演算法只需要迴圈你的數範圍的次數而已
for (i = 0; i
{
n = rand.Next(0, r);//隨機產生一個0~9之間的數,r的初始值是9
newNum[i] = num[n];//把產生的隨機數當成num的下標賦給newNum陣列
tmp = num[n];//然後把num[n]和它最後一個數交換(num[r]),這是避免重複
num[n] = num[r];
num[r] = tmp;
r--;//自減,下次產生的隨機數就可以從0到8了,
}
for (i = 0; i
{
Console.Write("{0} ", newNum[i]);
}
Console.Read();