Feedback

C# - Methode zum zufälligen anordnen eines Arrays

Veröffentlicht von am 1/23/2013
(1 Bewertungen)
Eine Methode zum zufälligen anordnen von Variablen in Arrays oder auch Listen
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static Random rand = new Random();

        public static void Shuffle<T>(T[] array)
        {
            var random = rand;

            for (int count = array.Length; count > 1; count--)
            {
                int randvar = random.Next(count);

                var v = array[randvar];
                array[randvar] = array[count - 1];
                array[count - 1] = v;
            }
        }

        static void Main()
        {
            {
                char[] array = { 'a','b','c','d','e','f','g','h','i','j','k' };
                Shuffle(array);
                foreach (char value in array)
                {
                    Console.Write(value);
                }

                Console.ReadLine();
            }
        }
    }
}
Abgelegt unter Array, Random, Lists.

1 Kommentare zum Snippet

Maik Noczensky schrieb am 1/23/2013:
Hi,

ich würde die Shuffle-Funktion ein klein wenig anders gestalten.


public static void Shuffle<T>(T[] array)
{
int randvar = rand.Next(array.Length);
T v;

for (int count = array.Length; count > 1; count--, randvar = rand.Next(count))
{
v = array[randvar];
array[randvar] = array[count - 1];
array[count - 1] = v;
}
}
 

Logge dich ein, um hier zu kommentieren!