Objectif : Ecrire un programme Java implémentant l'algorithme du tri par sélection.
Spécifications de l’algorithme :
Algorithme Tri_Selection
local: m, i , j , n, temp Î Entiers naturels
Entrée : Tab Î Tableau d'Entiers naturels de 1 à n éléments
Sortie : Tab Î Tableau d'Entiers naturels de 1 à n élémentsdébut
pour i de 1 jusquà n-1 faire // recommence une sous-suite
m ¬ i ; // i est l'indice de l'élément frontière ai = Tab[ i ]
pour j de i+1 jusquà n faire // (ai+1, a2, ... , an)
si Tab[ j ] < Tab[ m ] alors // aj est le nouveau minimum partiel
m ¬ j ; // indice mémorisé
Fsi
fpour;
temp ¬ Tab[ m ] ;
Tab[ m ] ¬ Tab[ i ] ;
Tab[ i ] ¬ temp //on échange les positions de ai et de aj
fpour
Fin Tri_Selection
Proposition de squelette de classe Java à implanter :