begin process at 2012 05 29 23:45:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

librairie STD:enlever un élément d'un vector


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

librairie STD:enlever un élément d'un vector

jeudi 11 mai 2006 à 15:59:46 | librairie STD:enlever un élément d'un vector

tomalille

Bonjour,
je cherche le moyen d'enlever un élément d'un vector dans les librairies STD.
Je veux par exemple enlever le 3ième élément. Je suppose qu'il existe une méthode.
Merci d'avance
jeudi 11 mai 2006 à 18:12:19 | Re : librairie STD:enlever un élément d'un vector

luhtor

Un vector est un tableau donc enlever un element, c'est pas terrible. Enfin, ce qui se fait, c'est de remplacer le 3eme élement par le dernier "ton_vector.back()" puis de supprimer le dernier element : "ton_vector.pop_back".


jeudi 11 mai 2006 à 23:17:50 | Re : librairie STD:enlever un élément d'un vector

Hylvenir

Réponse acceptée !
Salut,
en effet pas très efficace de supprimer au milieu d'un vector,
mais si tu veux garder l'ordre de ton tableau, tu peux utiliser vector::erase par exemple

vector<int> v;
// populate v
v.erase( v.begin() + 3 );

mais bon faut vraiment le vouloir.
Pour un traitement par "lot" tu peux utiliser std::remove


//Ma participation à la saturation du net: http://hylvenir.free.fr
vendredi 12 mai 2006 à 00:27:00 | Re : librairie STD:enlever un élément d'un vector

luhtor

Oui si tu veux, mais en interne, il doit tout décaler. Donc ca ne doit pas etre efficace comme fonction. Enfin ca dépend dans quel contexte tu en as besoin.


vendredi 12 mai 2006 à 08:32:05 | Re : librairie STD:enlever un élément d'un vector

Hylvenir

Oui, c'était ce que je voulais dire, et j'étais d'accord avec toi.
Le contexte est important (imagine un vector trié utilisé avec un binary_search par exemple). Mais en effet, le vector ne sont pas fait pour être "taillé" par un autre endroit que la fin.  (un deque devrait mieux convenir, ou une liste si [] n'est pas nécessaire)



Cette discussion est classée dans : élément, vector, enlever, librairie, std


Répondre à ce message

Sujets en rapport avec ce message

méthode virtuelle et std::vector [ par tch0utch0u2 ] Bonjour,J'ai un vector STL déclarer comme suit:vector m_vElement;auquel j'ajoute successivement des objets de classesderivées de ClasseDeBase.Lorsque tableau [ par ToToL ] Bonjour,j'ai un tableau créé de cette maniere :std::vector Pos;et a un moment j'ai besion d'en créé un autre qui doit etre une copie de Pos , quel es Problème avec std::vector et std::pair [ par luhtor ] J'ai une fonction qui compilait très bien sous linux, mais pas moyen de la compiler avec devCpp. Quelqu'un saurait pourquoi il la refuse ? template vector de tableau à deux élément : vector <int[2]> [ par Icarius44 ] Bonjours tout le mondealors je voudrais faire                 vector mais ca marche pas avec Visual C++.Connaisez vous en équivalent qui marche (autre [std::vector] Probleme de fuites memoire [ par jcloupgarou ] Bonjour,j'utilise le std::vector, ne connaissant pas a priori la taille de mes tableaux.Par exemple, pour un tableau de coordonnées :      - Declarati Problème de fuite mémoire [ par franchouze ] Bonjour, Pour vérifier les fuites mémoires de mon programme j'utilise valgrind. Voici "l'oubli" de libération détecté par valgrind (ligne avant la Taille max d'arguments pour un std::vector<long> [ par wismerhill__ ] SalutBonjour, dans une fonction j'ai un bug bizar qui apparait lorsque je rempli un std::vecto au 369000 élément.Y'a t'il une taille max d'element à v Calculer barycentre [std::vector] [ par skone007 ] Voilà je suis toujours dans mon pseudo moteur 3D enfin bref je suis en train de coder un petite fonction pour calculer le barycentre enfin calculer le problème avec std::vector [ par loicus ] bonjoursj'ai un problème avec std vector, mon programme plante lorsque je suprimme des éléments du vecteur, et je ne comprend pas pourquoi...j'ai beso Declaration de variables [ par wismerhill__ ] Bonjour, je cherche à faire qqch de tres simple : créer un std::vector dans un constructeur de classe.J'ai essayé MaClasse::MaClasse{monvecteur= new s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,902 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales