précédent | suivant | table des matières

Le tri par sélection.

voir l'appliquette de visualisation

C'est une forme dégénérée du tri par partition : la partition consiste à produire un premier ensemble E1 qui contient le plus petit élément de l'ensemble E, et un deuxième ensemble E2 qui contient tous les autres éléments. Une telle partition se nomme sélection.

La sélection entre les indices d et f (inclus) est :

int selection (int t[], int d, int f){
   if(d==f) return f;
   else{
      int iMin = selection(t, d+1, f);
      if (t[d]<t[iMin]) return d; else return iMin;
   }
} 

Le tri par sélection s'écrit :

void TriSelection (int t[], int d, int f ){
   for(int i = d; i<f; ++i)
      echanger(t[i],t[selection(t,i,f,)]);
} 

haut de la page