Tri par insertion en C

Nous pouvons créer un programme C pour trier les éléments d’un tableau à l’aide du tri par insertion. L’algorithme du tri par insertion n’est utile que pour les petits éléments, car elle nécessite plus de temps pour trier un grand nombre d’éléments. Voici comment le processus fonctionne :
 
 
Exemple:


Source: Wikipedia.org

 

Programme C pour trier un tableau à l’aide de l’algorithme de tri par insertion.
/* Tri par insertion */
 
#include <stdio.h>
#define SIZE 10
 
int main()
{ 
  int tab[10] = { 3, -2, 7, 10, -5, 22, 1, 27, 25, 30};
  int i, j, tmp;
 
   //afficher les éléments du tableau
   for (i=0; i < SIZE; ++i)
   {
      printf("%4d", tab[i]);
   }
 
  for (i=1 ; i <= SIZE-1; i++) {
    j = i;
 
    while (j > 0 && tab[j-1] > tab[j]) {
      tmp = tab[j];
      tab[j] = tab[j-1];
      tab[j-1] = tmp;
 
      j--;
    }
  }
 
  printf("\n******** tableau triée par ordre croissant ********\n");
 
  for (i=0; i < SIZE; i++)
     printf("%4d", tab[i]);
 
  return 0;
}

La sortie :

   3  -2   7  10  -5  22   1  27  25  30
******** tableau triée par ordre croissant ********
  -5  -2   1   3   7  10  22  25  27  30

 

Laisser un commentaire

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