java數組亂序 / 隨機排序算法
思想:遍歷數組,產生0至數組長度-1的隨機數,然後和數組當前位置的數據互換
代碼:
/**
* 對給定數目的自0開始步長爲1的數字序列進行亂序
* @param no 給定數目
* @return 亂序後的數組
*/
public static int[] getSequence(int array) {
int[] sequence = new int[array];
for(int i = 0; i < array; i++){
sequence[i] = i;
}
Random random = new Random();
for(int i = 0; i < array; i++){
int p = random.nextInt(array);
int tmp = sequence[i];
sequence[i] = sequence[p];
sequence[p] = tmp;
}
random = null;
return sequence;
}