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 :

[STL]copier un set dans un vector


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
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Par défaut [STL]copier un set dans un vector
    bonjour,
    j'aimerai savoir comment faire pour copier tout le contenu d'un set dans un vector, merci

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Bonjour, tu as plusieurs facon. en voici quelques une :
    1- a la creation du vecteur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::vector<...> myVector(mySet.begin(),mySet.end());
    2-avec l'algorithm copy et un vecteur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //ajout le set a la fin du vecteur
    std::copy(mySet.begin(),mySet.end() , back_inserter(myVector));
     
    //copi un a un les elements
    myVector.resize(mySet.size());
    std::copy(mySet.begin(),mySet.end(),myVector.begin());

  3. #3
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Si tu as besoin de changer de container au milieu d'un programme, je pense que c'est que le container a été mal choisi à la base. Pourquoi ce changement?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Par défaut
    Mongaulois: merci
    spoutspout: enfaite c'que j'veut c'est juste suprimer les doublons d'un vecteur, ducoup j'suis passer par un set avant, mais c'est vrai que c'est un peut pourrie enfaite, mais j'ai pas trouver comment faire pour suprimmer les doublons d'un vecteur

    mais enfaite si finalement cetait pas dur a trouver dsl

  5. #5
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Sinon, pour rechercher un doublon, tu peux aussi utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::find_if(vector.begin(),vector.end(),pred(vector_type));
    Le prédicat (argument 3) c'est une classe qui te renverra true ou false selon que le vector_type remplira la condition définie par l'opérateur = du prédicat. Dans ton cas, si la valeur courante est égale à vector_type;

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Par défaut
    ok merci

  7. #7
    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
    Saufq ue c'est impossible avec ça de trouver un doublon. Selon les implémentations de la STL, ça peut supprimer tout le vecteur.

    Ne JAMAIS utiliser un prédicat à état.

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

Discussions similaires

  1. Copier les éléments d'un Set dans un autre
    Par Faiche dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 17/12/2008, 14h18
  2. [STL]Suppression d'un objet dans un vector
    Par cssiste dans le forum SL & STL
    Réponses: 10
    Dernier message: 19/07/2007, 14h23
  3. STL - objet dans un vector/deque
    Par ivles dans le forum SL & STL
    Réponses: 11
    Dernier message: 26/02/2007, 11h38
  4. copier une ligne dans une autre table
    Par BoeufBrocoli dans le forum SQL
    Réponses: 5
    Dernier message: 24/10/2003, 22h59
  5. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54

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