打乱一个数组

给定一个数组,要求把数组内元素的顺序随机打乱,然后输出.

这其实是个洗牌算法,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,直到最后一个元素。这样能确保每个元素在每个位置的概率都是1/n,利用Math,random()生成(0,1)的浮点值。

package test;
import java.util.*;
public class Main{
	public static void main(String[] args){
		Main main=new Main();
		int num[]=new int[]{1,2,3,4,5,6,7,8,9,10};
		main.random(num);
	}
public void random(int[] num){
	int len=num.length;
	for(int i=0;i


你可能感兴趣的:(算法)