Réintroduisons maintenant la petite optimisation que nous avions retiré à l'étape précédente : Si un parcours n'a rien inversé, c'est que le tableau est maintenant trié. Dans ce cas, il faut arrêter le processus de tri.
Pour cela, utilisez simplement le mot-clé break>
, qui coupe
l'exécutino de la boucle englobante. Attention, si vous avez plusieurs
boucles
imbriquées, c'est celle situé tout au fond (au plus près du mot-clé break)
qui
est cassée.
Pour tout i dans [lgr-2,0] (parcours du plus grand au plus petit) Pour tout j dans [0, i] Si les cases j et j+1 doivent être inverser, le faire Si le parcours sur les j n'a rien inversé, casser la boucle
Cet optimisation est encore plus décevante : on ne gagne que quelques pourcents en nombre de lectures sur BubbleSort2.