École de technologie supérieure

Le tri bulle en action

INF145 Programmation avancée et langage C
Sylvie Ratté et Hugues Saulnier

void triBulles(double T[] ,int taille)
{  int i;
int k;
int nb_permutations;
for (i = 0; i < taille-1 ; i++) { nb_permutations = 0; for(k = 0; k < taille-i-1; k++) if(T[k] > T[k+1]) { permute(&T[k], &T[k+1]); nb_permutations++; } if( nb_permutations == 0) return; } }
Le tri bulle pourra s'arrêter avant la fin du parcours si aucune permutation n'est nécessaire. Dans ce cas, il ne sert à rien de continuer puisque le tableau est assurément trié. La variable "nb_permutations" compte le nombre de permutations effectuées lors d'une passe.

TriBubble.swf

Modifié le: jeudi, 12 juin 2014, 14:03