IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Tri sélectif de nombres


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Par défaut Tri sélectif de nombres
    Bonjour, je recherche une méthode de tri efficace...j'ai beaucoup cherché mais je n'ai rien trouvé de probant...je ne sais pas s'il existe une astuce simple pour trier des nombres dans un ordre croissant ou décroissant.
    Considérant la classe Nombre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    class Nombre {
        // Variables d'instance :
        public int nombre;
        // Constructeur :
        public Nombre(int nombre) {
            setNombre(nombre);
        }
     
        protected Nombre setNombre(int nombre) {
            this.nombre = nombre;
            return this;
       }
     
        public int getNombre() {
            return this.nombre;
        }
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    LinkedList nbre = new LinkedList();
    nbre.add(new Nombre(11));
    nbre.add(new Nombre(2));
    nbre.add(new Nombre(29));
    nbre.add(new Nombre(199));
    nbre.add(new Nombre(3));
    Ensuite je place dans une LinkedList, cinq nouvelles instances de la classe Nombre et je voudrais les trier par ordre décroissant dans une nouvelle LinkedList.

    Quelqu'un a t il une astuce simple pour arriver parce que je tourne en rond et je n'ai rien obtenu de très bon pour le moment...

    Merchhi...

  2. #2
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    LinkedList nbre = new LinkedList();
    Collections.sort(nbre);
    Sinon, si tu veux implémenter toi-même les algo, cherche du côté du tri-fusion ou du tri par insertion ou Quicksort avec (mais il va falloir passer par un tableau pour trier les éléments --> plus efficace)

    [Edit :] bien sûr, il faut que tes Nombres soit comparables pour que sort fonctionne :
    Javadoc a dit :
    All elements in the list must implement the Comparable interface. Furthermore, all elements in the list must be mutually comparable (that is, e1.compareTo(e2) must not throw a ClassCastException for any elements e1 and e2 in the list).

  3. #3
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Par défaut
    Thanks...je vais regarder cela de plus près...

  4. #4
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Par défaut
    Euh pardonne moi si je dis une bêtise mais il est préférable que je réimplémente la méthode compareTo() alors pour que mes objets soient comparables...en gros faire de l'overloading? Sinon je ne pense pas que la méthode compareTo() de java donne un résultat significatif?

  5. #5
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    en gros faire de l'overloading?
    en gros, juste implémenter la méthode de l'Interface Comparable (avec Nombre implements Comparable)


    au fait ,
    tu entends quoi par
    la méthode compareTo() de java...
    ?

  6. #6
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Par défaut
    En fait pour utiliser la méthode Collection.sort(maCollection); je demandais si je devais réimplémenter la méthode compareTo() de Java...je pensais que je devais réimplémenter la méthode compareTo() pour qu'elle puisse comparer mes objets Nombre et que cette méthode était incluse dans l'implémentation de la méthode Collections.sort(Collection newOne)...

    en gros, juste implémenter la méthode de l'Interface Comparable (avec Nombre implements Comparable)
    C'est à dire? Je débute donc évite d'utiliser des mots compliqués

    EDIT : ah oui donc je dois réimplémenter compareTo() dans me classe Nombre pour que la nouvelle implémentation de celle ci prime sur celle de Java?

  7. #7
    Membre confirmé Avatar de spoutyoyo
    Inscrit en
    Avril 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 116
    Par défaut
    Il faut que ta classe Nombre implement Comparable et il faut redéfinir ensuite la méthode compareTo() afin de comparer deux Nombres entre eux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Comparaison de colonnes et tri sélectif
    Par guyCnet dans le forum Excel
    Réponses: 1
    Dernier message: 16/08/2010, 20h15
  2. Tri sélectif sur deux datagridview indépendant
    Par jdelestre dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/06/2009, 16h28
  3. [Débutant] tri sélectif de matrices par rapport à un vecteur
    Par Lalaine dans le forum MATLAB
    Réponses: 4
    Dernier message: 26/03/2009, 21h27
  4. [CR10] Faire un tri selon un nombre de caractères
    Par John0123 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 02/10/2008, 15h04
  5. tri selon le nombre d'enregistrement
    Par bugbug dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/12/2005, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo