给定一个字符串数组,对它们进行随机排序的最简单方法是什么? - c#

我想出的是:

RandomSort()
{
  string[] list = { "Alpha", "Beta", "Gamma", ... }
  Random rnd = new Random();
  string[] list2 = list.OrderBy((x) => rnd.NextDouble()).ToArray();
}

还有其他方法,也许使用Dictionary之类的方法吗?谢谢。

参考方案

那当然很简单,但是它是O(n log(n))。通过使用Fisher Yates随机播放,可以在性能方面取得更好的效果。

45码