cs_ToToL
Messages postés170Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention 9 juillet 2008
-
18 nov. 2004 à 18:36
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
18 nov. 2004 à 20:28
Bonjours
Je doit ranger des nombre dans un ordre croissant et je me demandait quel etait la solution la plus rapide. En fait j'ai a peut pres deux idées en tete :
( mes entier sont dans un tableau )
- Boucle while , si l'entiers suivant est plus petit on les intervertit
- 2 boucle for imbriqué , on teste le plus petit puis le suivant et ainsi de suite.
Pour vous quel est la meilleurs ??? si vous avez des idées encore mieu je suis preneur
plus_plus_fab
Messages postés232Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 8 janvier 2005 18 nov. 2004 à 18:57
salut,
les algos de tri que tu proposes ne sont pas tres bon tout les deux.
Renseigne toi sur le tri par insertion, tri par fusion, tri quicksort (parmi les meilleurs).
MetalDwarf
Messages postés241Date d'inscriptionmardi 29 octobre 2002StatutMembreDernière intervention23 janvier 2006 18 nov. 2004 à 19:36
Oui ces tris la sont appele le tri a bulle pour le premier et le tri je-ne-sais-pas-quoi pour le second. Il ne sont pas bons parce qu ils necessitent un nombre d operations proportionnel a n² (si tu as n elements a traiter) pour fonctionner, ce qui devient tres lent pour des grosses tailles.
Par contres les autres tris permettent d avoir un nb proportionnel a n*log(n) ce qui est beaucoup mieux.
Sinon si tu es flemmard il y a une fonction quicksort() dans la lib C ANSI (standard) ce qui t evite de coder cette fonction.
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 20094 18 nov. 2004 à 19:48
salut,
a mon avis, ta premiere idée ne va pas trier correctement ton tableau (ou alors tu t'es tres mal exprimé). essaie de l'implementer et tu verras ce qu'il se passe...
a+ ;)