Home 洗牌算法
Post
Cancel

洗牌算法

  1.          public static void Shuffle<T>(this T[] array)
             {
                 int n = array.Length;
                 while (n > 1)
                 {
                     var k = Random.Range(0, n--);
                     (array[n], array[k]) = (array[k], array[n]);
                 }
             }
        
    
    1. 令 n = 数组的长度。
    2. 0 ~ n-1 之间随机取一个数,把它和最后一个数交换。
    3. 使 n -1,重复以上步骤。
This post is licensed under CC BY 4.0 by the author.