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;
}