|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2007
Città: Sicilia
Messaggi: 6461
|
[C++] inserimento elementi in vector
Salve a tutti.
Vi dico prima che sono praticamente un poppante nel mondo del C++ Il mio problema attuale è il seguente: ho creato un oggetto vector<int>. Ora, tramite il metodo push_back inserisco elementi alla fine, ma se voglio inserire un elemento in mezzo all'oggetto vector? Per esempio a = vector<int> a.push_back(1); a.push_back(2); a.push_back(3); A questo punto, voglio inserire il valore 4 fra 2 e 3, in maniera tale che il vettore risulti, alla fine a[0] = 1 a[1] = 2 a[2] = 4 a[3] = 3 Devo utilizzare il metodo insert, e fin qui ci sono, ma devo utilizzare come argomento anche un iteratore, ed a questo punto la pulce al posto del mio cervello si mette a saltare come una pazza... Da un pezzo di codice che ho trovato in rete Codice:
vector<char>::iterator theIterator = alphaVector.begin(); alphaVector.insert( theIterator, 4, 'C' ); Thanks per le risposte e scusate per la niubbaggine Daniele
__________________
Non abbiamo ereditato il mondo dai nostri padri L'abbiamo preso in prestito dai nostri figli |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Bari
Messaggi: 349
|
Codice:
int i,pos,elemento;
elemento = 4;
for(i=0;i<nomevettore.size();i++)
if(nomevettore[i]==3)
pos = i;
insert(nomevettore.begin() + pos, 1, elemento);
mi sono servito di http://msdn2.microsoft.com/en-us/lib...ha(vs.80).aspx questo esempio comunque.. Vito
__________________
Si può vincere una guerra in due...o forse anche da solo. Si può estrarre il cuore anche al più nero assassino, ma è più difficile cambiare un'idea! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Se vuoi inserire alla 4a posizione basta sommare 3 all'iteratore iniziale, ottenuto con il metodo begin().
Codice:
vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(5); v.insert(v.begin()+3,4); Ultima modifica di tomminno : 18-07-2007 alle 11:27. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2007
Città: Sicilia
Messaggi: 6461
|
Grazie a tutti. Vado a provare le soluzioni.
Daniele
__________________
Non abbiamo ereditato il mondo dai nostri padri L'abbiamo preso in prestito dai nostri figli |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:06.



















