tn.اتعلّم

Tri par Insertion

Insertion Sort — Visualiseur
Comparaisons
0
Décalages
0
Insertions
0
Clé courante
Non trié
Clé à insérer
Comparaison
Décalage →
Insertée
Sous-tableau trié
Passe /

Tableau trié.

— comparaisons · — décalages · — insertions

12
Appuyez sur Démarrer pour lancer la simulation.
Aucune insertion effectuée.
ALGORITHME TriInsertion(@ T : tab , n : entier)
  // Le premier élément est considéré comme déjà trié
  POUR i De 1 à n - 1 FAIRE
    // Mémoriser l'élément à insérer (la "clé")
    clé   T[i]
    j     i
    // Décaler vers la droite les éléments > clé
    TANT QUE j > 0 ET T[j-1] > clé FAIRE
      T[j]  T[j-1]   // décalage
      j  j - 1
    FIN TANT QUE
    // Insérer la clé à sa position correcte
    T[j]  clé
  FIN POUR
FIN ALGORITHME
def tri_insertion(T , n):
    # Le premier élément est considéré comme déjà trié
    for i in range(1, n):
        # Mémoriser l'élément à insérer (la "clé")
        clé = T[i]
        j   = i
        # Décaler vers la droite les éléments > clé
        while j > 0 and T[j-1] > clé:
            T[j] = T[j-1]   # décalage
            j = j-1
        # Insérer la clé à sa position correcte
        T[j] = clé

# ── Exemple d'utilisation ──────────────────────────────────────────
  données = [12, 11, 13, 5, 6, 7]
  print("Avant :", données)
  tri_insertion(données , 6)
  print("Après :", données)
  # → Après : [5, 6, 7, 11, 12, 13]