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

SL & STL C++ Discussion :

[débutant] tri vecteur string ordre alphabétique


Sujet :

SL & STL C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 9
    Points : 16
    Points
    16
    Par défaut [Résolu] [débutant] tri vecteur string ordre alphabétique
    Bonjour,

    Je dispose d'un vecteur de string, chaque string représentant un nom de fichier mp3 de type nom_artiste - titre_chanson.

    J'ai tenté l'algo STL pour trier mon vecteur, mais celui-ci gère mal les majuscules, qu'il place toujours avant les minuscules

    Ex : ATC - machin_bidule.mp3
    Aaliyah - La zoubida.mp3
    Albert Butagaz - Mes plaques chauffantes.mp3
    Bobby Ewing - C'est beau la vie.mp3
    ...

    Alors que moi je voudrais qu'il tienne compte de l'ordre alphabétique "réel", c'est à dire obtenir ATC après Albert. Je précise que je travaille sous Visual Studio 6.0, que l'interface graphique de mon appli est faite avec wxWindows. Si j'affiche les noms des fichiers dans une wxListBox et que j'utilise la fonctionnalité "sort" de la wxListBox, ça s'affiche exactement comme il faut... mais en interne ça bouge pas.

    Une idée sur comment bien trier mon vecteur ?


    Merci d'avance
    Tom Sawyer[/b]

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu pourrais utiliser une comparaison qui ne tienne pas compte de la casse, par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    struct CompNoCase
    {
       bool operator ()(std::string s1, std::string s2) const
       {
          std::transform(s1.begin(), s1.end(), s1.begin(), std::tolower);
          std::transform(s2.begin(), s2.end(), s2.begin(), std::tolower);
     
          return s1 < s2;
       }
    };
     
    std::sort(v.begin(), v.end(), CompNoCase());
    Pas testé mais ça devrait le faire.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 9
    Points : 16
    Points
    16
    Par défaut
    Ca marche au poil, merci mille fois...


    Tom Sawyer

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

Discussions similaires

  1. [XL-2007] Tri étendu par ordre alphabétique sur un tableau aux dimensions dynamiques
    Par atk_49 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/03/2014, 15h03
  2. Tri avancé et ordre alphabétique en java
    Par Rosalind dans le forum Général Java
    Réponses: 1
    Dernier message: 20/04/2012, 07h20
  3. Tri list par ordre alphabétique
    Par mbadjo79 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 29/04/2009, 10h01
  4. Problème tri objet par ordre alphabétique
    Par scary dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 08/03/2009, 22h14
  5. [Débutant] Tri tableau String
    Par Sigwald dans le forum Collection et Stream
    Réponses: 22
    Dernier message: 14/05/2004, 08h55

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