Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Blogs Emploi Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Systèmes Windows Linux
Accueil   TV   Conception Java DotNET Visual Basic C & C++ Delphi Pascal MS-Office SQL & SGBD Oracle  4D 
FORUM PASCAL F.A.Q PASCAL TUTORIELS PASCAL SOURCES COMPILATEURS OUTILS LIVRES
Jacques Dalbin artiste peintre peinture
Bienvenue sur le site de WhiteTigerZ

Rédacteur Pascal, pour le site www.developpez.com

Consulter mon profil...    Me Contacter...
Accueil
 Navigation  
Accueil
 
Tutoriels
 
Tri par sélection
Tri à bulle
Tri par insertion
Recherche séquentielle

 

Recherche Dichotomique
Articles
Sources
Bonus
Liens
remerciements
 
 Informations  


I. Introduction
II. Fonctionnement


I. Introduction



Il existe de nombreux algorithmes de tri. Je vais vous expliquer ici le fonctionnement du tri par sélection, qui a l'avantage d'être un des plus simples à mettre en oeuvre. Dans cet article, je détaillerais le tri sur un tableau d'entiers, mais cet algorithme est tout aussi valide pour trier un tableau de chaînes de caractères, de flottants, ou de tout autre type tant qu'on peut émettre une comparaison...



II. Fonctionnement



Considérons un tableau T de N chaînes de caractères (indicées de 1 à N).
Le principe est le suivant:


  1. Placer dans l'élément d'indice 1 du tableau T la plus petite valeur présente dans le tableau ; pour cela, on recherche la plus petite valeur dans T et on la place dans T[1] ; la valeur qui se trouvait auparavant dans T[1] est mise à sa place.
  2. Placer dans l'élément d'indice 2 de T la plus petite valeur présente dans la tranche de tableau T[2..N]
  3. Placer dans l'élément d'indice 3 de T la plus petite valeur présente dans la tranche de tableau T[3..N]
  4. et ainsi de suite jusqu'à l'étape N-1

Par exemple, avec le tableau d'entiers suivants:


5 3 1 2 4
La première étape consiste à identifier la plus petite valeur de l'intevalle T[1..5] et de faire l'échange avec la valeur de la case d'indice 1 :


5 3 1 2 4
on fait l'échange :


1 3 5 2 4
La 2° étape consiste à mettre la plus petite valeur de l'intervalle T[2..5] dans la case 2:


1 3 5 2 4
on fait l'échange :


1 2 5 3 4
La 3° étape consiste à mettre la plus petite valeur de l'intervalle T[3..5] dans la case 3:


1 2 5 3 4
on fait l'échange :


1 2 3 5 4
La 4° et dernière étape consiste à mettre la plus petite valeur de l'intervalle T[4..5] dans la case 4:


1 2 3 5 4
on fait l'échange :


1 2 3 4 5
Et voilà, on obtient le tableau trié

Pascal:

 
Tous droits réservés à WhiteTigerZ.  

Responsable bénévole de la rubrique Pascal : wormful_sickfoot - Contacter par EMail :pascal@redaction-developpez.com