Tri algorithme informatique
Résolu
mezzo915
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis de retour! Et je sollicite de nouveau votre aide sur un sujet assez banal==> un exercice d'algorithme!
Ex:
Créer un algorithme qui permet de saisir 3 valeurs et de les trier par ordre décroissant.
Dit comme ça sa a l'air facile pour certain, mais pour un newbie comme moi...
Merci d'avance pour votre aide!
Slt!
Je suis de retour! Et je sollicite de nouveau votre aide sur un sujet assez banal==> un exercice d'algorithme!
Ex:
Créer un algorithme qui permet de saisir 3 valeurs et de les trier par ordre décroissant.
Dit comme ça sa a l'air facile pour certain, mais pour un newbie comme moi...
Merci d'avance pour votre aide!
Slt!
A voir également:
- Tri algorithme informatique
- Le code ascii en informatique - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Jargon informatique - Télécharger - Bureautique
- Logiciel tri photo - Guide
- Que veut dire url en informatique - Guide
3 réponses
Salut,
Voilà qui devrait faire ton bonheur. C'est un algo de tri rapide, qui te donne un tri croissant. Je ne te ferai l'affront de te dire ce qu'il faut modifier pour obtenir un tri décroissant... :o)
procédure TriRapide (E/S t : Tableau[1..MAX] d'Entier; gauche,droit : Naturel)
Déclaration i,j : Naturel; pivot,x : Entier
début
i<--gauche;j<--droit;pivot<--t[(i+j)/2]
répéter
tant que t[i] < pivot faire i<--i+1 fintant que
tant que t[j] > pivot faire j<--j-1 fintant que
si i <= j alors
echanger(tab[i],tab[j])
i<--i+1
j<--j-1
finsi
jusqu'à ce que i>j
si gauche<j alors
TriRapide(t,gauche,j)
finsi
si i<droit alors
TriRapide(t,i,droit)
finsi
fin
Voilà qui devrait faire ton bonheur. C'est un algo de tri rapide, qui te donne un tri croissant. Je ne te ferai l'affront de te dire ce qu'il faut modifier pour obtenir un tri décroissant... :o)
procédure TriRapide (E/S t : Tableau[1..MAX] d'Entier; gauche,droit : Naturel)
Déclaration i,j : Naturel; pivot,x : Entier
début
i<--gauche;j<--droit;pivot<--t[(i+j)/2]
répéter
tant que t[i] < pivot faire i<--i+1 fintant que
tant que t[j] > pivot faire j<--j-1 fintant que
si i <= j alors
echanger(tab[i],tab[j])
i<--i+1
j<--j-1
finsi
jusqu'à ce que i>j
si gauche<j alors
TriRapide(t,gauche,j)
finsi
si i<droit alors
TriRapide(t,i,droit)
finsi
fin