Tri à bulles

Algorithme quadratique, T(n) = O(n2), en moyenne et dans le pire des cas, stable et en place.  Le « tri bulle » est une variante du tri par sélection. Il consiste à parcourir le tableau tab en permutant toute paire d'éléments consécutifs (tab[k],tab[k+1]) non ordonnés - ce qui est un échange et nécessite donc encore une variable intermédiaire de type entier. Après le premier parcours, le plus grand élément se retrouve dans la dernière case du tableau, en tab[N], et il reste donc à appliquer la même procédure sur le tableau composé des éléments tab[1], ..., tab[N-1]. Le nom de ce tri provient du déplacement des « bulles » les plus grandes vers la droite.

La procédure de tri bulle est la suivante :

 

procedure triBulle(entier[] tab)

   entier i, k;

   entier tmp;

   pour (i de N à 2 en décrémentant de 1) faire

      pour (k de 1 à i-1 en incrémentant de 1) faire

         si (tab[k] > tab[k+1]) alors

            tmp <- tab[k];

            tab[k] <- tab[k+1];

            tab[k+1] <- tmp;

         fin si

      fin pour

   fin pour

fin procedure

 

© 2009 Tous droits réservés.

Créer un site internet gratuit Webnode