Feedback

Methode zum zufälligen anordnen eines Arrays

Sprache: C#

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();
            }
        }
    }
}
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();
            }
        }
    }
}

1 Kommentar

  1. Hi,

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

    [code]
    public static void Shuffle(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;
    }
    }
    [/code]