— comparaisons · — échanges
PROCEDURE TriBulle(@T : tab, n : entier) REPETER passe ← 0 échangé ← FAUX POUR i De 0 à n - passe - 2 FAIRE // Comparer deux éléments adjacents SI T[i] > T[i + 1] ALORS // Échanger temp ← T[i] T[i] ← T[i + 1] T[i + 1] ← temp échangé ← VRAI FIN SI FIN POUR // Optimisation : à chaque itération le plus grand élément est poussé vers la droite passe ← passe + 1 JUSQU'À échangé = FAUX OU passe = (n - 1) FIN
def tri_bulle (T, n): passe = 0 echange = True while echange == True and passe < (n - 1): echange = False for i in range (n - passe - 1): # Comparer deux éléments adjacents if T[i] > T[j + 1]: # Échanger temp = T[i] T[i] = T[i + 1] T[i + 1] = temp echange = True # Optimisation : passe = passe + 1 # ── Exemple d'utilisation ────────────────────────────────────────── données = [64, 34, 25, 12, 22, 11, 90] print("Avant :", données) tri_bulle(données, 7) print("Après :", données) # → Après : [11, 12, 22, 25, 34, 64, 90]