Section courante

A propos

Section administrative du site

Parmi les nombreux algorithmes de tri enseignés en informatique, le tri à bulle (Bubble Sort) est sans doute l'un des plus connus et des plus faciles à comprendre. Bien qu'il soit rarement utilisé dans les applications professionnelles en raison de ses performances limitées sur de grands ensembles de données, il demeure un excellent outil pédagogique pour apprendre les principes fondamentaux du tri et de la manipulation des tableaux. Son fonctionnement repose sur une idée particulièrement simple : parcourir une liste d'éléments en comparant chaque valeur avec celle qui la suit immédiatement. Lorsque deux éléments ne sont pas dans le bon ordre, ils sont échangés. En répétant ce processus plusieurs fois, les plus grandes valeurs remontent progressivement vers la fin du tableau, de la même manière que des bulles d'air remontent à la surface d'un liquide, ce qui explique l'origine de son nom. Grâce à sa simplicité, cet algorithme est souvent présenté dans les premiers cours de programmation afin d'illustrer les concepts de boucles imbriquées, de comparaisons conditionnelles et de permutation de valeurs.

Le programme QuickBASIC présenté ci-dessous démontre une implémentation classique du tri à bulle appliquée à un tableau contenant plusieurs nombres entiers placés dans un ordre quelconque. Dans un premier temps, le contenu du tableau est affiché tel qu'il a été initialisé afin de visualiser l'ordre original des données. Le programme effectue ensuite une série de passages successifs dans le tableau. À chaque étape, deux éléments adjacents sont comparés et échangés au besoin à l'aide de l'instruction SWAP. Au fil des itérations, les valeurs se déplacent progressivement vers leur position définitive jusqu'à ce que le tableau soit entièrement trié dans l'ordre croissant. Une fois le traitement terminé, le contenu du tableau est affiché de nouveau afin de mettre en évidence le résultat obtenu. Cet exemple permet non seulement de comprendre le fonctionnement interne du tri à bulle, mais aussi de constater concrètement l'évolution des données pendant le processus de tri. Bien qu'il existe aujourd'hui des algorithmes beaucoup plus performants tels que le tri rapide (QuickSort), le tri par fusion (Merge Sort) ou le tri par tas (Heap Sort), le tri à bulle demeure un classique incontournable pour l'apprentissage des bases de l'algorithmique et de la programmation.

Vous trouverez la réponse que vous souhaitez, à l'aide du code source QuickBASIC suivant :

  1. OPTION BASE 0
  2. DIM Tableau(7)
  3. Tableau(0) = 15
  4. Tableau(1) = 10
  5. Tableau(2) = 23
  6. Tableau(3) = 2
  7. Tableau(4) = 8
  8. Tableau(5) = 9
  9. Tableau(6) = 14
  10. Tableau(7) = 16
  11.  
  12. PRINT "Avant:";
  13. FOR K = 0 TO UBOUND(Tableau)
  14.  PRINT Tableau(K); ",";
  15. NEXT
  16. FOR I = (UBOUND(Tableau) + 1) - 2 TO 0 STEP -1
  17.   FOR J = 0 TO I
  18.    IF Tableau(J + 1) < Tableau(J) THEN
  19.     SWAP Tableau(J + 1), Tableau(J)
  20.    END IF
  21.   NEXT J
  22. NEXT I
  23. PRINT
  24. PRINT "Après:";
  25. FOR L = 0 TO UBOUND(Tableau)
  26.  PRINT Tableau(L); ",";
  27. NEXT
  28. PRINT

on obtiendra le résultat suivant :

Avant:15, 10, 23, 2, 8, 9, 14, 16,
Après:2, 8, 9, 10, 14, 15, 16, 23,

Voir également

Algorithme - Tri

Dernière mise à jour : Mercredi, le 14 septembre 2016