Tri d'ArrayList en paramètre de méthode

Fermé
onduleur Messages postés 2 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 20 avril 2010 - 20 avril 2010 à 15:07
poukkid Messages postés 106 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 avril 2012 - 21 avril 2010 à 11:33
Bonjour à toute et à tous

Voici mon Objectif : on a une liste de noeuds
de type Arraylist<Node>. On la passe en PARAMETRE DE METHODE, et je dois renvoyer la liste triée.
chaque Node contient une variable iF de type int et il faudrait une méthode qui trie la liste du plus petit iF au plus grand donc qu'on ait pour tout node contenu

Soit i>j
alors
maListe.get(i).getiF()> maListe.get(j).getiF()

Voila, j'ai un peu de mal avec tout le code qu'il y a autour, ca serait super de me donner ce coup de main.

Merci à Vous.

A voir également:

4 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
20 avril 2010 à 15:21
Bonjour,

As-tu la possibilité de modifier la classe Node, ou, à défaut, de créer une classe qui en hérite ?
Car le plus simple serait d'implémenter iComparable, de redéfinir .CompareTo et .Equals en utilisant les iF en question, et de laisser le système faire les tris pour toi...

Xavier
0
poukkid Messages postés 106 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 avril 2012 11
20 avril 2010 à 15:23
Salut

Sais-tu quel type de tri tu dois utiliser ? il existe plusieurs types de tris, plus ou moins complexes, et également plus ou moins rapides (si tu as énormément de données, il faut absolument opter pour les tris les plus rapides mais il faudra comprendre leur fonctionnement et ils sont en général plus complexes à implémenter.
Les tris simples (tri à bulle, tri par insertion, par selection...) sont moins performants mais largement suffisants si tu n'as pas trop de données.

Accessoirement, si tu connais la récursivité, il faudra choisir si tu utilisera une procédure récursive ou non, la plupart des algorithmes de tri peuvent être implémentés de façon récursive, mais c'est du détail.
0
onduleur Messages postés 2 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 20 avril 2010
Modifié par onduleur le 20/04/2010 à 17:51
je ne dois pas toucher a node.
Et normalement je n'ai besoin d'aucune autre classe.
Je pense que cela peut s'apparenter à un tri de tableau mais en plus simple car on doit pouvoir insérer directement a un endroit sans avoir a stock qqpart les données.

Merci de votre mobilisation.
0
poukkid Messages postés 106 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 avril 2012 11
21 avril 2010 à 11:33
la plupart des tris permettent de trier des tableaux, donc il faut savoir lequel implémenter.
Le plus simple et le plus trivial est le tri par selection,

https://fr.wikipedia.org/wiki/Tri_par_s%C3%A9lection

Essaye de l'implémenter dans ta procédure à partir de l'algorithme simple présenté sur le lien ci dessus, si tu n'y arrives pas, ecris la procédure que tu auras essayé d'ecrire, on pourra t'aider à la finaliser.

Je te dis ça pour pas te l'écrire directement, c'est plus intéressant pour toi de bien comprendre ce que tu implémentes.
0