d. Le tri à bulles
Le tri à bulles a un lointain rapport avec le champagne ou d’ailleurs toutes les boissons gazeuses. Le but est que par
permutations successives des valeurs voisines, les valeurs les plus élevées remontent vers les dernières places du
tableau, tandis que les valeurs les plus basses migrent vers les premières places. Pour trier dans un ordre croissant, il
faut que chaque valeur d’un élément du tableau soit plus petite que celle de l’élément qui suit (sauf pour le dernier,
bien entendu). Voici une simulation pas à pas du premier passage :
q Étape 1 : 48 est supérieur à 17, on permute.
q Étape 2 : 48 est supérieur à 25, on permute.
q Étape 3 : 48 est supérieur à 9, on permute.
q Étape 4 : 48 est supérieur à 34, on permute.
À l’issue de ce premier passage, vous remarquez que la valeur la plus élevée est déjà en dernière place du tableau
mais que le tableau n’est pas entièrement trié. Aussi il faut effectuer plusieurs passages en vérifiant à chaque
passage si des permutations ont eu lieu. Quand une permutation au moins a eu lieu lors d’un passage, il faut en
relancer une autre. Ainsi il faut mettre en place un drapeau (flag) indiquant si une permutation a eu lieu ou non. Voici
les résultats après les passages successifs :
q Passe 1:
q Passe 2 :
q Passe 3 :
La structure globale de l’algorithme est donc :
PROGRAMME TRIBULLE
VAR
Permut :booléen
temp,Cpt,i:entiers
t:tableau[1..5] d’entiers
DEBUT
Cpt←5
Permut←vrai
TantQue Permut Faire
Permut←Faux
17
48
25
9
34
17
25
48
9
34
17
25
9
48
34
17
25
9
34
48
17
25
9
34
48
17
9
25
34
48
9
17
25
34
48
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
110
Le tri à bulles a un lointain rapport avec le champagne ou d’ailleurs toutes les boissons gazeuses. Le but est que par
permutations successives des valeurs voisines, les valeurs les plus élevées remontent vers les dernières places du
tableau, tandis que les valeurs les plus basses migrent vers les premières places. Pour trier dans un ordre croissant, il
faut que chaque valeur d’un élément du tableau soit plus petite que celle de l’élément qui suit (sauf pour le dernier,
bien entendu). Voici une simulation pas à pas du premier passage :
q Étape 1 : 48 est supérieur à 17, on permute.
q Étape 2 : 48 est supérieur à 25, on permute.
q Étape 3 : 48 est supérieur à 9, on permute.
q Étape 4 : 48 est supérieur à 34, on permute.
À l’issue de ce premier passage, vous remarquez que la valeur la plus élevée est déjà en dernière place du tableau
mais que le tableau n’est pas entièrement trié. Aussi il faut effectuer plusieurs passages en vérifiant à chaque
passage si des permutations ont eu lieu. Quand une permutation au moins a eu lieu lors d’un passage, il faut en
relancer une autre. Ainsi il faut mettre en place un drapeau (flag) indiquant si une permutation a eu lieu ou non. Voici
les résultats après les passages successifs :
q Passe 1:
q Passe 2 :
q Passe 3 :
La structure globale de l’algorithme est donc :
PROGRAMME TRIBULLE
VAR
Permut :booléen
temp,Cpt,i:entiers
t:tableau[1..5] d’entiers
DEBUT
Cpt←5
Permut←vrai
TantQue Permut Faire
Permut←Faux
17
48
25
9
34
17
25
48
9
34
17
25
9
48
34
17
25
9
34
48
17
25
9
34
48
17
9
25
34
48
9
17
25
34
48
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
110
