Tri à bulle en C

Le tri des données dans un ordre croissant ou décroissant peut être réalisée de différentes manières. Dans ce tutoriel, vous allez découvrir comment utiliser le programme C pour trier un tableau à l’aide de l’algorithme de tri à bulle.
 
 
Dans cette méthode, les valeurs les plus petites se déplacent progressivement vers le haut, comme une bulle d’air dans l’eau, et les valeurs les plus grandes descendent vers le bas du tableau.

Dans chaque boucle, les paires successives des éléments sont comparées et permutées si nécessaire. Si la paire a la même valeur ou est en ordre croissant, on la garde elle-même.

S’il y a N éléments à trier, le tri à bulles fait N-1 pour traverser le tableau.

Regardons un exemple, comment cela fonctionne.


 

Programme C pour trier les éléments d’un tableau à l’aide de tri à bulle
/* Tri à bulle */
 
#include <stdio.h>
#define SIZE 10

int main()
{
  int tab[10] = { 4, -1, 8, 12, -6, 23, 2, 28, 24, 33};
  int i, j, tmp;
 
    //afficher les éléments du tableau
   for (i=0; i < SIZE; ++i)
   {
      printf("%4d", tab[i]);
   }
 
  for (i=0 ; i < SIZE-1; i++)
  {
    for (j=0 ; j < SIZE-i-1; j++)
    {
      /* Pour un ordre décroissant utiliser < */
      if (tab[j] > tab[j+1]) 
      {
        tmp = tab[j];
        tab[j] = tab[j+1];
        tab[j+1] = tmp;
      }
    }
  }
 
  printf("\n******* tableau triée par ordre croissant *******\n");
 
    //afficher les éléments du tableau triée
   for (i=0; i < SIZE; ++i)
   {
      printf("%4d", tab[i]);
   }
 
  return 0;
}

La sortie :

   4  -1   8  12  -6  23   2  28  24  33
******* tableau triée par ordre croissant *******
  -6  -1   2   4   8  12  23  24  28  33

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.