ALGORITHME DE TRI D'UN TABLEAU PAR ORDRE CROISSANT OU DÉCROISSANT.
gnairod
Messages postés37Date d'inscriptionsamedi 22 novembre 2008StatutMembreDernière intervention11 avril 2010
-
14 mars 2010 à 12:06
jcr39
Messages postés1Date d'inscriptiondimanche 4 mars 2018StatutMembreDernière intervention 4 mars 2018
-
4 mars 2018 à 07:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
jcr39
Messages postés1Date d'inscriptiondimanche 4 mars 2018StatutMembreDernière intervention 4 mars 2018 Modifié le 4 mars 2018 à 13:16
Une méthode de tri tout aussi efficace
#include <stdio.h>
#include <stdlib.h>
void ordonnerTableau(int tableau[], int tailleTableau);
int main()
{
int tableau[4] = {15,81,22,13};
ordonnerTableau(tableau, 4);
return 0;
}
void ordonnerTableau(int tableau[], int tailleTableau)
{
int i = 0; // Variable Index de boucle lecture tableau
int d = 0 ; // Variable de décalage Index de boucle lecture tableau
int tampon = 0;
{
printf("\nDEBUT exercice Ordonner\n\n");
}
//Tri ordre croissant
{
printf("\n tableau ordre Croissant\n");
}
for(d=0; d < tailleTableau; d++)
for(i=d; i < tailleTableau; i++)
if (tableau [i]<= tableau [d])
{
tampon = tableau [d];
tableau [d]= tableau [i];
tableau [i] = tampon;
}
for(i=0; i < tailleTableau; i++)
{
printf("tableau: %i\n", tableau[i]);
}
//Tri ordre décroissant
{
printf("\n tableau ordre Décroissant\n");
}
i = 0; // RAZ Variable Index de boucle lecture tableau pour tri decroissant
d = 0 ; // RAZ Variable de décalage Index de boucle lecture tableau pour tri decroissant
tampon = 0;
for(d=0; d < tailleTableau; d++)
for(i=d; i < tailleTableau; i++)
if (tableau [i]>= tableau [d])
{
tampon = tableau [d];
tableau [d]= tableau [i];
tableau [i] = tampon;
}
for(i=0; i < tailleTableau; i++)
{
printf("tableau: %i\n", tableau[i]);
}
{
printf("\nFIN exercice Ordonner\n");
}
}
Thuzhen
Messages postés2Date d'inscriptionlundi 2 novembre 2009StatutMembreDernière intervention17 mars 2010 17 mars 2010 à 16:33
Merci pour ces avis qui m'ont pas mal aidé :)
thebroyeur
Messages postés7Date d'inscriptiondimanche 10 décembre 2006StatutMembreDernière intervention 8 mai 201012 16 mars 2010 à 18:48
Simple tri à bulle comme il a déjà été dit. Essaye de regarder les tri fusions par exemples merge sort en anglais ;)
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 16 mars 2010 à 01:00
Salut,
Gnairod m'a devancé quant au nom de tri à bulle.
Info : &tabl[i] devient tabl+i (à mon avis, c'est un détail parmi d'autre qui permet d'accélérer le temps d'exécution).
Kevin95870
Messages postés5Date d'inscriptionvendredi 6 novembre 2009StatutMembreDernière intervention20 juin 2011 15 mars 2010 à 14:54
bonjour,
essai de regarder du côté des tris par distribution.
Thuzhen
Messages postés2Date d'inscriptionlundi 2 novembre 2009StatutMembreDernière intervention17 mars 2010 14 mars 2010 à 17:57
C'est vrai que je pourrais l'optimiser en évitant la répétition de scan des nombres déjà classés, mais je pense que apars diminuer le temps d'exécution déjà très court ça ne servirait à rien. C'est vrai que la différence est visible au bout d'un certain moment mais bon...
Sur ce je te remercie de m'avoir donné le nom et d'avoir apport une critique objective.
Informatiquement,
Thüzhen.
gnairod
Messages postés37Date d'inscriptionsamedi 22 novembre 2008StatutMembreDernière intervention11 avril 2010 14 mars 2010 à 12:06
C'est un tri à bulles, c'est sans intérêt dès lors que n > 7 car la complexité de l'algorithme est dans le cas moyen proportionnel à 1/2 * n^2, de plus il existe beaucoup de source sur cet algorithme. Essaye de proposer quelque chose avec plus d'intérêt. Je te mets la moyenne pour la note.
Modifié le 4 mars 2018 à 13:16
17 mars 2010 à 16:33
16 mars 2010 à 18:48
16 mars 2010 à 01:00
Gnairod m'a devancé quant au nom de tri à bulle.
Info : &tabl[i] devient tabl+i (à mon avis, c'est un détail parmi d'autre qui permet d'accélérer le temps d'exécution).
15 mars 2010 à 14:54
essai de regarder du côté des tris par distribution.
14 mars 2010 à 17:57
Sur ce je te remercie de m'avoir donné le nom et d'avoir apport une critique objective.
Informatiquement,
Thüzhen.
14 mars 2010 à 12:06