主要代码就是这一段:
Random rnd=new Random();
for (int i = 0; i < size; i++)
swap(array, i, rnd.nextInt(size));
这个算法是不公平的,Collections.shuffle用的是:
for (int i = size; i > 1; i--)
swap(arr, i - 1, rnd.nextInt(i));
其实就是(有点难看):
for (int i = 0; i < size; i++)
swap(array, i, i+rnd.nextInt(size-i));
没有评论:
发表评论