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 :

[std::map] element precedent


Sujet :

SL & STL C++

  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [std::map] element precedent
    yopee

    j'ai voulu acceder à l'avanr dernier element inseré dans ma map de cette facon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MapClics::iterator l_itPreviousClic;
    l_itPreviousClic = l_itActualClic;
    l_itPreviousClic--;
    Pourtant les iterateurs sur une map sont bidirectioennels non ?
    et je tombe sur un element rien a voir... (je remonte bien dans ma map , mais de pas de 1 case)

    j ai fait une faute ? (reverse_iterator ??)

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    C'est normal, les éléments dans une map ne conservent pas leur ordre d'insertion mais sont triés suivant leur clé.

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par Sylvain Togni
    C'est normal, les éléments dans une map ne conservent pas leur ordre d'insertion mais sont triés suivant leur clé.
    justement, je veux aller à la clé precedente ! ( sans se soucier de l'ordre d insertion)

  4. #4
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Voilà un code qui m'affiche bien le dernier élément :
    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
    18
    #include <iostream>
    #include <map>
     
    int main()
    {
        std::map<int, int> m;
        m[1] = 11;
        m[0] = 10;
        m[3] = 13;
        m[2] = 12;
     
        std::map<int, int>::iterator previous = m.end();
        previous--;
     
        std::cout << previous->first << " " << previous->second << std::endl;
     
        return 0;
    }
    Donc faudrait que tu donnes plus de code. En l'occurence, que vaut l_itActualClic ?

  5. #5
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    et m... zut

    faute d'algoritmie...

    tout va bien

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

Discussions similaires

  1. [STL std::map] element precedant
    Par ZaaN dans le forum SL & STL
    Réponses: 1
    Dernier message: 17/05/2007, 00h52
  2. Accession aux std::map triées ?
    Par Matthieu Brucher dans le forum SL & STL
    Réponses: 5
    Dernier message: 18/11/2005, 14h44
  3. std::map<int,CStringArray> ????
    Par philippe V dans le forum MFC
    Réponses: 1
    Dernier message: 12/10/2005, 06h48
  4. Libérer des pointeurs dans une std::map
    Par GaldorSP dans le forum SL & STL
    Réponses: 2
    Dernier message: 09/07/2005, 14h42
  5. Trier un std::map selon les valeurs plutot que les clés
    Par dj.motte dans le forum SL & STL
    Réponses: 2
    Dernier message: 13/11/2004, 21h54

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