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

Java Discussion :

Tri croissant d'une suite de caratères numériques


Sujet :

Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Tri croissant d'une suite de caratères numériques
    Bonjour,

    Je conçois une application sous NetBeans où j'aimerais classer les suites de carctères ci-dessous en ordre croissant sans utiliser les tableaux ou les classes du package java.util.*:

    Chaîne de départ : 49152||61441||61442||57347||57348||61445||45062||61447||53256||49161

    Chaîne triée attendue : 45062||49152||49161||53256||57347||57348||61441||61442||61445||61447

    Je ne désire pas forcément un bout de code pour m'aider; je serais déjà ravi si vous pouvez me donner une démarche pour le faire.

    Merci,


  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Pour faire ce genre de chose, utiliser un système de tableau ou équivalent (List,Map,...) me semble une nécessité.
    Je pense que l'on pourrait tricher en utilisant par exemple un String comme un tableau de nombres (après tout en interne il contient un char[] et le type char peut être utilisé comme un nombre), mais ça relève quand même du masochisme.

    Pourquoi as tu une telle limitation?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par Uther Voir le message
    Pour faire ce genre de chose, utiliser un système de tableau ou équivalent (List,Map,...) me semble une nécessité.
    Je pense que l'on pourrait tricher en utilisant par exemple un String comme un tableau de nombres (après tout en interne il contient un char[] et le type char peut être utilisé comme un nombre), mais ça relève quand même du masochisme.

    Pourquoi as tu une telle limitation?
    Bonjour,

    Merci pour ta réponse. Effectivement cela aurait pu être géré avec un tableau mais dans les contraintes du projet (à l'université), c'est interdit d'utiliser les tableaux et les classes telles que ArrayList,...).

    Cordialement,
    Romaric

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ouais bon, c'est un exercice, donc. Si t'as pas le droit aux tableaux ou à java.util.* faudrait alors nous dire à quoi tu as droit.

    A priori on peut s'en sortir en refaisant soi-même une liste liée et en la triant avec un tri qui supporte les listes liées. Mais si c'est ça qu'il faut faire, ça aurait été intelligent de le dire comme ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Les seules solutions que je vois sont toutes à base de vilains bricolages simulant un tableau avec d'autre classes, ce qui je suppose ne serait pas considéré valable par tes professeurs. As tu la consigne exacte car je trouve ce problème bizarre. Je ne comprend pas l’intérêt pédagogique d'interdire à la fois les collection et les tableaux pour résoudre un tel problème.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Ouais bon, c'est un exercice, donc. Si t'as pas le droit aux tableaux ou à java.util.* faudrait alors nous dire à quoi tu as droit.

    A priori on peut s'en sortir en refaisant soi-même une liste liée et en la triant avec un tri qui supporte les listes liées. Mais si c'est ça qu'il faut faire, ça aurait été intelligent de le dire comme ça.
    Bonjour,

    Je pourrais créer une liste chainée que je trierai par la suite par ordre croissant; mais la chaine qui se trouve dans mon premier post a été créée suite à des traitements que j'ai fait au préalable.

    Cordialement,
    Romaric.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par Uther Voir le message
    Les seules solutions que je vois sont toutes à base de vilains bricolages simulant un tableau avec d'autre classes, ce qui je suppose ne serait pas considéré valable par tes professeurs. As tu la consigne exacte car je trouve ce problème bizarre. Je ne comprend pas l’intérêt pédagogique d'interdire à la fois les collection et les tableaux pour résoudre un tel problème.
    Merci pour votre contribution.
    Vous trouverez ci-dessous le lien sur le laboratoire avec les contraintes :

    https://cours.etsmtl.ca/log121/priva...b2/index.shtml

    J'ai déjà réalisé l'affichage des formes.

    Cordialement,
    Romaric

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Le lien demande une authentification; vous trouverez donc les contraintes dans la pièce jointe.

    Cordialement,
    Romaric
    Images attachées Images attachées  

  9. #9
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Bon la consigne est claire tu dois programmer une liste chainée(c'est a dire une suite d'éléments qui pointent l'un vers l'autre) toi même.
    Je suppose que vous avez eu un cours là dessus sinon, ce n'est pas les explications du concept qui manquent sur internet.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    J'ai programmé la liste chainée mais je n'arrive pas à gérer le tri par ordre croissant.
    Chaque élément de la liste de base a cette structure :
    49152 <OVALE> 127 143 95 72 </OVALE>
    Il faut donc une fois la liste créée, être en mesure de trier cette liste par ordre croissant à partir de :
    - numéro de séquence qui est dans ce cas-ci : 49152
    - nom de la forme : ordre alphabétique selon la forme Ovale, Rectangle,...
    Si j'arrive à faire pour l'un, je pourrai faire les autres mais je suis bloqué.

  11. #11
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Les tris auxquels tout le monde pense ne marcheront pas avec une liste chaînée. Enfin, en théorie il y a moyen mais c'est trop galère à programmer et trop long en temps d'exécution.

    Par contre il existe une manière de trier une liste, en n'échangeant que des éléments qui sont côte à côte, ce qui est donc facile avec une liste chaînée. Essaie de te demander comment faire pour trier une liste, uniquement en échangeant des éléments côte à côte.
    Logiquement, la première chose à faire, ce serait d'échanger dans quelles circonstances ? Maintenant, imagine que tu ne peux pas trouver ces circonstances dans la chaîne, dans ce cas, que peut-on en conclure sur l'ordre de la chaîne ?

    Au pire si tu trouves pas, cherche une liste des algorithmes de tri connus.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par rcomlan Voir le message
    Bonjour,

    Le lien demande une authentification; vous trouverez donc les contraintes dans la pièce jointe.

    Cordialement,
    Romaric
    Bonjour,

    Merci à vous tous pour vos réponses et orientations.
    Je me suis inspiré du lien ci-dessous et j'ai utilisé les listes chainées pour traiter cela.

    http://www.liafa.univ-paris-diderot....urs11/C101.htm

    Cordialement,
    Romaric

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

Discussions similaires

  1. [XL-2000] Tri croissant sur une feuille cachée
    Par cobra38 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/12/2010, 21h12
  2. [AC-2003] Tri croissant dans une requete cumul
    Par liop49 dans le forum VBA Access
    Réponses: 6
    Dernier message: 30/09/2009, 15h57
  3. Réponses: 1
    Dernier message: 19/03/2009, 14h44
  4. contient une suite de caratères
    Par will Igetit dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/02/2009, 09h16
  5. Réponses: 2
    Dernier message: 21/06/2005, 16h37

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