Tri par insertion en java
Nous pouvons créer un programme Java pour trier les éléments d’un tableau à l’aide du tri par insertion. L’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
Exemple d’un programme Java pour trier un tableau à l’aide de l’algorithme de tri par insertion.
public class InsertionSortExample {
public static void tri_insertion(int tab[])
{
int taille = tab.length;
for (int i = 1; i < taille; i++)
{
int index = tab[i];
int j = i-1;
while(j >= 0 && tab[j] > index)
{
tab[j+1] = tab[j];
j--;
}
tab[j+1] = index;
}
}
static void displayTab(int[] tab)
{
for(int i=0; i < tab.length; i++)
{
System.out.print(tab[i] + " ");
}
System.out.println();
}
public static void main(String str[])
{
int[] tab = {1,12,4,5,93,21,8,11};
System.out.println("Avant le tri par insertion");
displayTab(tab);
//trie un tableau en utilisant le tri par insertion
tri_insertion(tab);
System.out.println("Apres le tri par insertion");
displayTab(tab);
}
}
La sortie
Avant le tri par insertion 1 12 4 5 93 21 8 11 Apres le tri par insertion 1 4 5 8 11 12 21 93
Complexité temporelle: O(n * 2)
Complexité spatial: O(1)







Bonsoir, votre programme n’est pas correcte.
Si la première valeur du tableau n’est pas la plus petite valeur, le programme ne marche plus.
Merci pour cette remarque, c’est corrigé 🙂