Fisher-Yates shuffle
// java代码
import java.util.Random;
static Random rng = new Random();
public static void shuffle(int[] array) {
// i is the number of items remaining to be shuffled.
for (int i = array.length; i > 1; i--) {
/枯纯/ Pick a random element to swap with the i-th element.
int j = rng.nextInt(i); /判凯/没冲咐 0 <= j <= i-1 (0-based array)
// Swap array elements.
int tmp = array[j];
array[j] = array[i-1];
array[i-1] = tmp;
}
}
http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle