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 :

pbm suppression list de paires <chaine, ensemble>


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Par défaut pbm suppression list de paires <chaine, ensemble>
    Bonjour,


    j'ai les variables suivantes :
    list<pair<string, set<int>>> ma_liste;
    pair<string, set<int>> elem;

    Je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    elem.first="ab";
    elem.second.insert(1);
    elem.second.insert(2);
    ma_liste.insert(elem); //j'insère [ab, {1,2}]
    elem.second.clear();
    elem.first="bc";
    elem.second.insert(2);
    elem.second.insert(3);
    ma_list.insert.elem;
    Je ne sais pas comment supprimer l'entier 1 de l'ensemble associé à la string "ab".

    Autre question, si c'est un set qui est utilisé à la place de list, quel est l'ordre utilisé lors des insert ?

    En vous remerciant de répondre à un débutant

  2. #2
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Avec une liste, il faut la parcourir pour trouver le bon é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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #include <iostream>
    #include <set>
    #include <list>
    #include <string>
     
    int main()
    {
    	std::list<std::pair<std::string, std::set<int>>>	ma_liste;
    	std::pair<std::string, std::set<int>>		        elem;
     
    	elem.first = "ab";
    	elem.second.insert(1);
    	elem.second.insert(2);
    	ma_liste.push_back(elem);
     
    	elem.second.clear();
    	elem.first="bc";
    	elem.second.insert(2);
    	elem.second.insert(3);
    	ma_liste.push_back(elem);
     
           // On récupère le premier élément PAR RÉFÉRENCE !
    	std::set<int>& set = ma_liste.front().second;
    	set.erase(1);
     
    	return 0;
    }
    Ce serait tellement plus pratique dans ton exemple avec une map!

    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
    19
    20
    21
    22
    23
     
    #include <set>
    #include <string>
    #include <map>
     
    int main()
    {
    	std::map<std::string, std::set<int> >	ma_liste;
    	std::set<int>				elem;
     
    	elem.insert(1);
    	elem.insert(2);
    	ma_liste["ab"] = elem;
     
    	elem.clear();
    	elem.insert(2);
    	elem.insert(3);
    	ma_liste["bc"] = elem;
     
    	ma_liste["ab"].erase(1);
     
    	return 0;
    }
    Bonne continuation,

    Poukill

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Par défaut
    Merci beaucoup.
    Le pbm est résolu. Je n'avais pas encore entrepris de voir la structure
    de map mais là, c'est sûr que c'est ce qu'il faut utiliser.

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par tachaout Voir le message
    Merci beaucoup.
    Le pbm est résolu. Je n'avais pas encore entrepris de voir la structure
    de map mais là, c'est sûr que c'est ce qu'il faut utiliser.
    Alors ne cherche pas. C'est bien plus simple d'utiliser une map qu'une liste pour ce que tu fais. C'est même plus court.

Discussions similaires

  1. Suppression liste checkbox
    Par Immo dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 13/02/2007, 15h09
  2. Réponses: 4
    Dernier message: 21/07/2006, 08h53
  3. Liste modifiable : longueur de chaine.
    Par pifou02 dans le forum Access
    Réponses: 8
    Dernier message: 09/01/2006, 15h47
  4. Réponses: 3
    Dernier message: 31/01/2005, 23h18
  5. [MSSQL 2K] PBM suppression backslah+carriage return !?
    Par fredfred dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/05/2004, 13h21

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