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

Los vectores son lo mismo que las arrays dinámicas con la capacidad de cambiar su tamaño automáticamente cuando se inserta o elimina un elemento, y el contenedor maneja automáticamente su almacenamiento.

vector::push_back()

La función push_back() se utiliza para insertar elementos en un vector desde atrás. El nuevo valor se inserta en el vector al final, después del último elemento actual y el tamaño del contenedor aumenta en 1. 

Sintaxis: 

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

Ejemplos:  

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

Errores y excepciones
1. Fuerte garantía de excepción: si se lanza una excepción, no hay cambios en el contenedor. 
2. Si el vector no admite el valor pasado como argumento, muestra un comportamiento indefinido.

C++

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

Producción: 

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

La función pop_back() se usa para hacer estallar o eliminar elementos de un vector desde atrás. El valor se elimina del vector desde el final y el tamaño del contenedor se reduce en 1. 

Sintaxis:  

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

Ejemplos: 

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

Errores y excepciones
1. Garantía de no lanzamiento: si el contenedor no está vacío, la función nunca arroja excepciones. 
2. Si el vector está vacío, muestra un comportamiento indefinido.

CPP-STL-Self-Paced-Course

C++

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

Producción: 

1 2 3 4

¿Elimina pop_back() valores junto con elementos?

Cuando se llama a la función pop_back(), se elimina el último elemento, los valores y los elementos son lo mismo en este caso. Se llama al destructor del objeto almacenado y la longitud del vector se elimina en 1. Si la capacidad del contenedor no se reduce, aún puede acceder a la ubicación de memoria anterior, pero en este caso, no sirve de nada acceder a un objeto ya abierto. elemento, ya que dará como resultado un comportamiento indefinido .

Aplicación push_back() y pop_back() 
Dado un vector vacío, agregue números enteros usando la función push_back y luego calcule su tamaño. 

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

Algoritmo 
1. Agregue elementos al vector utilizando la función push_back 
2. Verifique si el tamaño del vector es 0, si no, incremente la variable de contador inicializada como 0 y extraiga el elemento posterior. 
3. Repita este paso hasta que el tamaño del vector sea 0. 
4. Imprima el valor final de la variable.  

C++

// CPP program to illustrate
// Application of push_back and pop_back function
#include <iostream>
#include <vector>
using namespace std;
  
int main()
{
    int count = 0;
    vector<int> myvector;
    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;
}

Producción: 

6

 Veamos las diferencias en forma tabular -:

  vector::push_back()  vector::pop_back()
1. Se utiliza para agregar un nuevo elemento al final del vector. Se utiliza para eliminar un nuevo elemento al final del vector.
2.

Su sintaxis es -:

push_back(valor);

Su sintaxis es -:

pop_back();

3. Su parámetro es el valor que queremos agregar al final del vector. No toma ningún parámetro.
4. No tiene ningún tipo de retorno. No tiene ningún valor de retorno.
5. Su complejidad es constante. Su complejidad es constante.

Publicación traducida automáticamente

Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *