Boucle imbriquée

Définition, exemples et bonnes pratiques

À retenir

  • La boucle interne s'exécute entièrement pour chaque passage unique de la boucle externe.
  • Le nombre total d'exécutions est le produit des itérations de chaque boucle.
  • C'est l'outil de base pour traiter des données en 2D ou 3D.

Une boucle imbriquée est une structure de programmation où l'on place une instruction de répétition (une boucle) à l'intérieur d'une autre. Imaginez une horloge : pour que l'aiguille des heures avance d'un seul cran (boucle extérieure), l'aiguille des minutes doit d'abord effectuer un tour complet de 60 crans (boucle intérieure).

Étymologie

Le mot « boucle » évoque un cercle qui revient à son point de départ. « Imbriquée » provient du latin imbricare, qui désigne la disposition des tuiles d'un toit se recouvrant partiellement. En informatique, cela illustre l'emboîtement d'une structure dans une autre, traduit par le terme anglais nested loop.

Exemples d'usage

  • Parcourir une grille de pixels : une boucle pour chaque ligne, et à l'intérieur, une boucle pour chaque colonne.
  • Générer une table de multiplication : pour chaque chiffre de 1 à 10, multiplier par tous les chiffres de 1 à 10.
  • Comparer chaque utilisateur d'une liste avec tous les autres pour trouver des doublons.

Cas d'usage

On utilise les boucles imbriquées pour manipuler des données organisées en plusieurs dimensions, comme les tableaux à double entrée (matrices), les images (hauteur et largeur) ou les coordonnées géographiques (latitude et longitude).

Bonnes pratiques

Attention à la performance : chaque niveau d'imbrication multiplie le nombre total d'opérations. Si vous avez 1 000 éléments et deux boucles imbriquées, votre programme effectuera 1 000 000 d'itérations. On parle de complexité algorithmique élevée (souvent notée O(n²)). Évitez d'imbriquer plus de deux ou trois boucles si des alternatives plus rapides existent.

Synonymes

boucles en cascade boucle interne boucle emboîtée

Antonymes

boucle simple boucles séquentielles

Conseil

Pour ne pas vous perdre, utilisez des noms de variables clairs pour vos compteurs. Au lieu de simples i et j, utilisez par exemple index_ligne et index_colonne. Cela rendra votre code beaucoup plus facile à déboguer.

Questions fréquentes

Peut-on imbriquer autant de boucles que l'on veut ?

Techniquement oui, mais chaque niveau supplémentaire ralentit considérablement l'exécution du programme. Au-delà de trois niveaux, le code devient aussi très difficile à lire.

Comment arrêter toutes les boucles d'un coup ?

Selon le langage, on peut utiliser des étiquettes (labels) ou des drapeaux (booléens) pour sortir simultanément de l'imbrication via une instruction <code>break</code>.