logo

vector::push_back() e vector::pop_back() in C++ STL

Vettori sono uguali agli array dinamici con la possibilità di ridimensionarsi automaticamente quando un elemento viene inserito o eliminato, con la loro archiviazione gestita automaticamente dal contenitore.

vettore::push_back()

La funzione push_back() viene utilizzata per spingere gli elementi in un vettore dal retro. Il nuovo valore viene inserito nel vettore alla fine, dopo l'ultimo elemento corrente e la dimensione del contenitore viene aumentata di 1.



Sintassi:

  vectorname.push_back(value)  Parameters : The value to be added in the back is passed as the parameter Result : Adds the value mentioned as the parameter to the back of the vector named as vectorname>

Esempi:

 Input: myvector = {1, 2, 3, 4, 5}; myvector.push_back(6); Output: 1, 2, 3, 4, 5, 6 Input: myvector = {5, 4, 3, 2, 1}; myvector.push_back(0); Output: 5, 4, 3, 2, 1, 0>

Errori ed eccezioni
1. Forte garanzia di eccezione: se viene lanciata un'eccezione, non ci sono modifiche nel contenitore.
2. Se il valore passato come argomento non è supportato dal vettore, mostra un comportamento indefinito.



convertire un int in una stringa c++

C++






// CPP program to illustrate> // push_back() function> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>miovettore{ 1, 2, 3, 4, 5 };> >myvector.push_back(6);> > >// Vector becomes 1, 2, 3, 4, 5, 6> > >for> (>auto> it = myvector.begin(); it != myvector.end(); ++it)> >cout <<>' '> << *it;> }>

>

algoritmi di ordinamento per inserzione
>

Produzione

 1 2 3 4 5 6>
vettore::pop_back()()

La funzione pop_back() viene utilizzata per far apparire o rimuovere elementi da un vettore dal retro. Il valore viene rimosso dal vettore dalla fine e la dimensione del contenitore viene ridotta di 1.

Sintassi:

  vectorname.pop_back()  Parameters : No parameters are passed Result : Removes the value present at the end or back of the given vector named as vectorname>

Esempi:

Input : myvector = {1, 2, 3, 4, 5}; myvector.pop_back(); Output :1, 2, 3, 4>
Input : myvector = {5, 4, 3, 2, 1}; myvector.pop_back(); Output :5, 4, 3, 2>

Errori ed eccezioni

1. No-Throw-Garanzia – Se il contenitore non è vuoto, la funzione non genera mai eccezioni.
2. Se il vettore è vuoto, mostra un comportamento indefinito.

C++




// CPP program to illustrate> // pop_back() function> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>miovettore{ 1, 2, 3, 4, 5 };> >myvector.pop_back();> > >// Vector becomes 1, 2, 3, 4> > >for> (>auto> it = myvector.begin(); it != myvector.end(); ++it)> >cout <<>' '> << *it;> }>

codice grigio

>

>

Produzione

 1 2 3 4>

pop_back() rimuove i valori insieme agli elementi?

Quando viene chiamata la funzione pop_back(), l'ultimo elemento viene rimosso, valori E elementi sono la stessa cosa in questo caso. Viene chiamato il distruttore dell'oggetto memorizzato e la lunghezza del vettore viene rimossa di 1. Se la capacità del contenitore non viene ridotta, è ancora possibile accedere alla posizione di memoria precedente ma in questo caso non è utile accedere a un oggetto già spuntato elemento, poiché risulterà in un comportamento indefinito .

Applicazione: push_back() e pop_back()

Dato un vettore vuoto, aggiungigli numeri interi utilizzando la funzione push_back e quindi calcola la sua dimensione.

Input : 1, 2, 3, 4, 5, 6 Output : 6>

Algoritmo

errore: impossibile trovare o caricare la classe principale

1. Aggiungi elementi al vettore utilizzando la funzione push_back
2. Controlla se la dimensione del vettore è 0, in caso contrario, incrementa la variabile contatore inizializzata come 0 e fai apparire l'elemento back.
3. Ripeti questo passaggio finché la dimensione del vettore diventa 0.
4. Stampa il valore finale della variabile.

C++




// CPP program to illustrate> // Application of push_back and pop_back function> #include> #include> using> namespace> std;> > int> main()> {> >int> count = 0;> >vector<>int>>miovettore;> >myvector.push_back(1);> >myvector.push_back(2);> >myvector.push_back(3);> >myvector.push_back(4);> >myvector.push_back(5);> >myvector.push_back(6);> >while> (!myvector.empty()) {> >count++;> >myvector.pop_back();> >}> >cout << count;> >return> 0;> }>

>

>

Produzione

6>

Vediamo le differenze in forma tabellare come mostrato di seguito come segue:

comunicazione analogica
vettore::push_back() vettore::pop_back()
Viene utilizzato per aggiungere un nuovo elemento alla fine del vettore. Viene utilizzato per rimuovere un nuovo elemento alla fine del vettore.

La sua sintassi è -:

push_back(valore);

La sua sintassi è -:

pop_back();

Il suo parametro è il valore che vogliamo aggiungere alla fine del vettore. Non richiede alcun parametro.
Non ha alcun tipo di reso. Non ha alcun valore di ritorno.
La sua complessità è costante. La sua complessità è costante.