How to random (shuffle) array of integers in C#

1 Answer

0 votes
using System;

namespace ConsoleApplication_C_Sharp
{
    class Program
    {
        static Random _random = new Random();

        // Fisher-Yates shuffle
        static void Shuffle<T>(T[] array)
        {
            int n = array.Length;
            for (int i = 0; i < n; i++)
            {
                int rand = i + _random.Next(n - i);
                T temp = array[rand];
                array[rand] = array[i];
                array[i] = temp;
            }
        }
        static void Main()
        {
            int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

            Shuffle(array);

            foreach (int n in array) {
                Console.Write("{0} ", n);
            }
            Console.WriteLine();
        }
    }
}


/*
run:
   
4 9 1 8 2 5 6 7 3
 
*/

 



answered Aug 25, 2018 by avibootz

Related questions

1 answer 285 views
1 answer 294 views
2 answers 335 views
335 views asked Aug 25, 2018 by avibootz
3 answers 522 views
522 views asked Jul 31, 2018 by avibootz
1 answer 259 views
259 views asked Oct 30, 2021 by avibootz
2 answers 678 views
1 answer 258 views
...