Le tri à bulles ou tri par propagation est un algorithme de tri qui consiste à faire remonter progressivement les plus grands éléments d'un tableau, comme les bulles d'air remontent à la surface d'un liquide.
Algorithme Tri_a_Bulles
local: i , j , n, temp ∈ Entiers naturels
Entrée - Sortie : Tab ∈ Tableau d'Entiers naturels de 1 a n éléments
début
//recommence une sous-suite (a1, a2, ... , ai)
pour i de n jusquà 1 faire
//échange des couples non classés de la sous-suite
pour j de 2 jusquà i faire
// aj-1et aj non ordonnés
si Tab[ j-1 ] > Tab[ j ] alors
temp ← Tab[ j-1 ] ;
Tab[ j-1 ] ← Tab[ j ] ;
//on échange les positions de aj-1et aj
Tab[ j ] ← temp
Fsi
fpour
fpour
Fin Tri_a_Bulles
Tableau initial (n°1 au n°19) :
3, 8, 7, 5, 2, 1, 9, 6, 4
Tableau une fois trié (n°1 au n°19) :
1, 2, 3, 4, 5, 6, 7, 8, 9
Autre version depuis l'indice zéro :
Tableau initial (n°0 au n°19) :
3, 8, 7, 5, 2, 1, 9, 6, 4, 0
Tableau une fois trié (n°0 au n°19) :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9