Outils pour utilisateurs

Outils du site


helloworld:algorithms:loop

n boucles imbriquées

Ici, dataLoop contient pour chaque boucle la lettre, l'itération en cours (base 0) et le nombre d'itérations à réaliser.

public class DataLoop
{
    public char Lettre { get; set; }
    public int N { get; set; }
    public int NEnCours { get; set; }
 
    public DataLoop(char lettre, int n, int nEnCours)
    {
        this.Lettre = lettre;
        this.N = n;
        this.NEnCours = nEnCours;
    }
}
 
private void nestedLoopOperation(IList<DataLoop> dataLoop, int level)
{
    if (level == dataLoop.Count)
    {
        // Opération à exécuter i*j*k*l*... fois
    }
    else
    {
        for (dataLoop[level].NEnCours = 0; dataLoop[level].NEnCours < dataLoop[level].N; dataLoop[level].NEnCours++)
            nestedLoopOperation(dataLoop, level + 1);
    }
}
 
nestedLoopOperation(dataLoop, 0);
helloworld/algorithms/loop.txt · Dernière modification : 2016/11/09 13:18 de root