java实现数组随机重新排列
public class RandomSortTest {
private int[]arr = {1,2,3,4,5,6,7,8};
private static final int SIZE = 8;
Random random = new Random();
@Test
//重新排列
public void sort(){
printArr();
for(int i=0;i<SIZE;i++){
int p = random.nextInt(i+1);
System.out.println("i==="+i+"p==="+p);
int tmp = arr[i];
arr[i] = arr[p];
arr[p] = tmp;
}
printArr();
//1 2 4 8 5 3 7 6
//4 1 8 7 2 6 5 3
//1 8 2 3 5 4 6 7
//5 7 8 3 4 2 6 1
}
@Test
//打印
public void printArr(){
for(int i=0;i<SIZE;i++){
System.out.print(arr[i]+" ");
}
}
}