Algorithme
Tri par insertion
 
Objectif : Ecrire un programme Java implémentant l'algorithme du tri par insertion.
 

Spécifications de l’algorithme :
 

Algorithme Tri_Insertion
 local:   i , j , n, v Π Entiers naturels
 Entrée : Tab Π Tableau d'Entiers naturels de 0 à n éléments
 Sortie : Tab Π Tableau d'Entiers naturels de 0 à n éléments
{ dans la cellule de rang 0 se trouve une sentinelle chargée d'éviter de tester dans la boucle tantque .. faire si l'indice j n'est pas inférieur à 1, elle aura une valeur inférieure à toute valeur possible de la liste
}
début
 pour i de2 jusquà n faire// la partie non encore triée (ai, ai+1, ... , an)
     v ¬ Tab[ i ] ;  // l'élément frontière : ai
     j ¬ i ;         // le rang de l'élément frontière
      Tantque Tab[ j-1 ] > v faire//on travaille sur la partie déjà triée (a1, a2, ... , ai)
              Tab[ j ]  ¬ Tab[ j-1 ]; // on décale l'élément
                j ¬ j-1;                  // on passe au rang précédent 
      FinTant ;
      Tab[ j ]  ¬ v //on recopie ai dans la place libérée
  fpour
Fin Tri_Insertion

Proposition de squelette de classe Java à implanter :
 

Remonter