Tri décroissant d'un vector
Résolu/Fermé
sihem hcine
Messages postés
113
Date d'inscription
mercredi 5 mars 2014
Statut
Membre
Dernière intervention
7 février 2016
-
24 avril 2015 à 21:11
sihem hcine Messages postés 113 Date d'inscription mercredi 5 mars 2014 Statut Membre Dernière intervention 7 février 2016 - 25 avril 2015 à 16:22
sihem hcine Messages postés 113 Date d'inscription mercredi 5 mars 2014 Statut Membre Dernière intervention 7 février 2016 - 25 avril 2015 à 16:22
A voir également:
- Trier ordre décroissant matlab
- Excel trier par ordre croissant chiffre - Guide
- Application gratuite pour trier les photos - Guide
- Longueur, largeur, hauteur dans quel ordre ✓ - Forum Loisirs / Divertissements
- Vba trier colonne par ordre croissant - Forum VB / VBA
- Triez ce tableau par ordre alphabétique des prénoms. - Forum Excel
2 réponses
Odenelle
Messages postés
102
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
18 mars 2016
20
25 avril 2015 à 00:36
25 avril 2015 à 00:36
Salut,
Si ça ne marche pas alors je te conseille de faire un bon tri à l'ancienne avec les indices de tes objets (si tu veux opti, je te conseille le Quicksort il est puissant et assez facile à utiliser)
Collections.reverse(File_Prêt.note)
Si ça ne marche pas alors je te conseille de faire un bon tri à l'ancienne avec les indices de tes objets (si tu veux opti, je te conseille le Quicksort il est puissant et assez facile à utiliser)
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 25/04/2015 à 16:54
Modifié par KX le 25/04/2015 à 16:54
Bonjour,
Cela n'est donc utile pour faire un tri décroissant que si la liste est déjà triée dans l'ordre croissant, avec
Deux cas de figure :
1) La classe Processus implémente l'interface Comparable<Processus> et définit la méthode
Dans ce cas tu peux faire un Collections.sort(filePret); pour les trier dans l'ordre croissant puis un Collections.reverse(filePret); pour obtenir l'ordre décroissant.
2) La classe Processus n'implémente pas l'interface Comparable<Processus> ou définit une méthode compareTo(Processus) qui ne compare pas avec les notes des processus.
Dans ce cas il faut construire un objet Comparator<Processus> dont la méthode
Voici un exemple dans le deuxième cas.
En Java 5,6,7 :
En Java 8, on peut remplacer le Comparator par une expression lambda :
La confiance n'exclut pas le contrôle
Collections.reverseprends une liste et renvoie une liste où les éléments sont pris en sens inverse (le premier en dernier etc.)
Cela n'est donc utile pour faire un tri décroissant que si la liste est déjà triée dans l'ordre croissant, avec
Collections.sortpar exemple.
Deux cas de figure :
1) La classe Processus implémente l'interface Comparable<Processus> et définit la méthode
compareTo(Processus)de sorte à comparer les notes des processus.
Dans ce cas tu peux faire un Collections.sort(filePret); pour les trier dans l'ordre croissant puis un Collections.reverse(filePret); pour obtenir l'ordre décroissant.
2) La classe Processus n'implémente pas l'interface Comparable<Processus> ou définit une méthode compareTo(Processus) qui ne compare pas avec les notes des processus.
Dans ce cas il faut construire un objet Comparator<Processus> dont la méthode
compare(Processus,Processus)permet d'ordonner deux objets Processus par note décroissante. Il suffit ensuite d'appeler Collections.sort(filePret, comparator); pour trier les valeurs dans cet ordre.
Voici un exemple dans le deuxième cas.
En Java 5,6,7 :
Comparator<Processus> comparator = new Comparator<Processus>() { @Override public int compare(Processus p1, Processus p2) { return p2.getNote() - p1.getNote(); } }; List<Processus> list = Collections.sort(filePret, comparator);
En Java 8, on peut remplacer le Comparator par une expression lambda :
List<Processus> list = Collections.sort(filePret, (p1,p2) -> p2.getNote() - p1.getNote());
La confiance n'exclut pas le contrôle
sihem hcine
Messages postés
113
Date d'inscription
mercredi 5 mars 2014
Statut
Membre
Dernière intervention
7 février 2016
25 avril 2015 à 16:22
25 avril 2015 à 16:22
mercii beaucoup mon problème a été resolu , j'utilise la 2 eme méthode
25 avril 2015 à 08:58
25 avril 2015 à 11:01
Voila une page expliquant très bien le principe du quicksort :
http://openclassrooms.com/courses/le-tri-rapide-qsort
J'ai oublié de te préciser mais si ton tableau est déjà plus où moins trié mieux vaut choisir un autre tri (par insertion par ex)
25 avril 2015 à 16:19