Algorithme
Tri par sélection
 
Objectif : Ecrire un programme C# 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éments

dé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 C# à implanter :
 
class ApplicationTriSelect 
 {

  static int[] table;  // le tableau à trier

  static void AfficherTable ( ) 
  {   // Affichage du tableau 
   ........
  }

  static void InitTable  ( ) 
  { // Initialisation du tableau 
    .........
  }

  static void TriSelect  ( ) 
  {   // sous-programme de Tri par sélection
    .........
   }

   static void Main(string[ ] args) 
   {
     InitTable ( );
     System.Console.WriteLine("Tableau initial :");
     AfficherTable ( );
     TriSelect  ( );
     System.Console.WriteLine("Tableau une fois trié :");
     AfficherTable ( );
     System.Console.Read();
   }
  }
 }

Remonter