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.
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
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.
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