logo

vector::push_back() i vector::pop_back() en C++ STL

Vectors són els mateixos que les matrius dinàmiques amb la possibilitat de canviar la mida automàticament quan s'insereix o s'elimina un element, amb el seu emmagatzematge gestionat automàticament pel contenidor.

vector::push_back()

La funció push_back() s'utilitza per introduir elements en un vector des de la part posterior. El nou valor s'insereix al vector al final, després de l'últim element actual i la mida del contenidor augmenta en 1.



Sintaxi:

  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>

Exemples:

 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>

Errors i excepcions
1. Garantia d'excepció forta: si es llança una excepció, no hi ha canvis al contenidor.
2. Si el valor passat com a argument no és compatible amb el vector, mostra un comportament no definit.



diferència simètrica

C++






// CPP program to illustrate> // push_back() function> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>el meuvector{ 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;> }>

>

mida del vector c++
>

Sortida

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

La funció pop_back() s'utilitza per aparèixer o eliminar elements d'un vector de la part posterior. El valor s'elimina del vector des del final i la mida del contenidor es redueix en 1.

Sintaxi:

  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>

Exemples:

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>

Errors i excepcions

1. Garantia sense llançament: si el contenidor no està buit, la funció mai llança excepcions.
2. Si el vector està buit, mostra un comportament indefinit.

C++


java char a enter



// CPP program to illustrate> // pop_back() function> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>el meuvector{ 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;> }>

>

>

Sortida

 1 2 3 4>

Pop_back() elimina valors juntament amb elements?

Quan es crida a la funció pop_back(), s'elimina l'últim element, valors i elements són una de les mateixes en aquest cas. S'anomena el destructor de l'objecte emmagatzemat i la longitud del vector s'elimina en 1. Si la capacitat del contenidor no es redueix, encara podeu accedir a la ubicació de memòria anterior, però en aquest cas, no serveix de res accedir a un que ja ha aparegut. element, ja que donarà lloc a un comportament indefinit .

Aplicació: push_back() i pop_back()

Donat un vector buit, afegiu-hi nombres enters mitjançant la funció push_back i després calculeu-ne la mida.

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

Algorisme

conjunt mecanografiat

1. Afegiu elements al vector mitjançant la funció push_back
2. Comproveu si la mida del vector és 0, si no, incrementeu la variable del comptador inicialitzada com a 0, i desplegueu l'element posterior.
3. Repetiu aquest pas fins que la mida del vector sigui 0.
4. Imprimeix el valor final de la variable.

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>>el meu vector;>>> 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;> }>

>

matrius bash

>

Sortida

6>

Vegem les diferències en forma de taula tal com es mostra a continuació:

vector::push_back() vector::pop_back()
S'utilitza per afegir un nou element al final del vector. S'utilitza per eliminar un element nou al final del vector.

La seva sintaxi és -:

push_back(valor);

La seva sintaxi és -:

pop_back();

El seu paràmetre és el valor que volem afegir al final del vector. No pren cap paràmetre.
No té cap tipus de retorn. No té cap valor de retorn.
La seva complexitat és constant. La seva complexitat és constant.