Dar*_*Zon 3 c# sorting algorithm
我记得看到一个方法似乎是排序,在哪里可以解开项目.
例如,我试图使用Random类显示从0到10的随机化项目.但我猜这不是最好的选择.
所以,我想为IEnumberable,List或数组创建扩展,无论什么都是最好的方法.
看起来像冒泡排序的算法将是:
for i= 0:(len(x)-1):
j = random(i,len(x)-1)
swap(x[i],x[j])
Run Code Online (Sandbox Code Playgroud)
假设random(a,b)返回随机整数c,使得a <= c <= b.
并且,该算法被称为"Fisher Yates Shuffle".
FWIW,您无法使用标准的内置随机数生成器"真正"洗牌.21项shuffle具有65位的熵,其中大多数RNG是64位或32位.