说明
每次从未处理的数据中随机取出一个数字,然后把该数字放在数组的尾部,即数组尾部存放的是已经处理过的数字。
代码
public static void main(String[] args){
Integer[] arr = {
5,1,2,6,7,8,93,67,8,3,86,4,6,8,45,86};
flushArr(arr);
for(int num : arr){
System.out.print(num + " ");
}
}
public static void flushArr(Integer[] arr){
int length = arr.length;
int index = length - 1;
for(int i = 0; i < length && index > 0 ; i++){
int num = createRandom(index);
int temp = arr[num];
arr[num] = arr[index];
arr[index] = temp;
index--;
}
}
public static int createRandom(int end){
return (new Random().nextInt(end));
}