To initialize an array a of n elements to a randomly shuffled copy of source, both 0-based:
a[0] ← source[0]
for i from 1 to n − 1 do
j ← random integer with 0 ≤ j ≤ i
a[i] ← a[j]
a[j] ← source[i]
相关:http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
http://coolshell.cn/articles/8593.html
本文介绍了一种用于数组随机排序的经典算法——费雪-耶茨洗牌算法。该算法可以有效地将一个数组打乱,使得每个元素出现在任意位置的概率相同。通过简单的循环与随机数生成,实现了一个0基数组的随机排列。
1976

被折叠的 条评论
为什么被折叠?



