Desordenar aleatoriamente una lista de elementos en C#

public static List<T> DesordenarLista<T>(List<T> input)
{
    List<T> arr = input;
    List<T> arrDes = new List<T>();

    Random randNum = new Random();
    while (arr.Count > 0)
    {
        int val = randNum.Next(0, arr.Count - 1);
        arrDes.Add(arr[val]);
        arr.RemoveAt(val);
    }

    return arrDes;
}

7 pensamientos en “Desordenar aleatoriamente una lista de elementos en C#

    • El algoritmo esta correcto, por si no lo sabes genio, se usa count -1 porque los arrays inician con elemento 0. un Array con 5 elementos tendría solo posiciones del 0 al 4 por ejemplo. Espero que haya quedado claro.
      Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Loading Facebook Comments ...