* Losowe przetasowanie listy C#

By | 24 grudnia 2014

Przetasowanie struktury danych takiej jak C#-powy List jest zadaniem prostym, ale warto znać kod, który jest przetestowany i działa dobrze. Ten taki jest 🙂

public void Shuffle<T>(IList<T> list)
{
    int n = list.Count;
    Random rnd = new Random();
    while (n > 1) {
        int k = (rnd.Next(0, n) % n);
        n--;
        T value = list[k];
        list[k] = list[n];
        list[n] = value;
    }
}

Kod został pobrany z tej strony.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *