[ 來源:
.Net教程 | 作者:
.Net教程 | 時間:
2008-2-22 |
去論壇]
-
-
早上想到另一個方法,可能更合適,昨天的方法會有邊界問題,比如2後面一定是跟1
新的方法如下


int[] NUMList=new int[20]...{1,2,3,4,5,6,7,8,9,10,.....20};

private Random random=new Random;


public void GetRandom(ref int[] nUMList)


...{

int index;

int chang;

for(int iCount=19;iCount>0;iCount--)


...{

index=random.Next(0,iCount);

chang=nUMList[index];

numList[index]=nUMList[iCount];

nUMList[iCount]=chang;

}

}
相當與對數組做隨機交換,時間長度為0(n)