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