El tamaño del vector se puede reducir utilizando diferentes funciones integradas de C++. La función pop_back() es una de ellas. Se utiliza para eliminar el último elemento del vector de la parte posterior y reducir el tamaño del vector en 1. Pero el último elemento del vector no se elimina permanentemente como la función erase(). Los diferentes usos de esta función se han explicado en este tutorial.
Sintaxis:
vector :: pop_back ( ) ;Esta función no tiene ningún argumento y no devuelve nada.
Requisito previo:
Antes de consultar los ejemplos de este tutorial, debe verificar que el compilador g++ esté instalado o no en el sistema. Si está utilizando Visual Studio Code, instale las extensiones necesarias para compilar el código fuente de C++ y crear el código ejecutable. Aquí, se ha utilizado la aplicación Visual Studio Code para compilar y ejecutar el código C++. Las formas de reducir el tamaño del vector usando la función pop_back() se muestran en la siguiente parte de este tutorial.
Ejemplo 1: eliminar varios elementos del vector
Cree un archivo C++ con el siguiente código para eliminar dos elementos del contenedor del vector reduciendo el tamaño del vector usando la función pop_back(). En el código se ha declarado un vector de 5 valores de cadena. La función pop_back() se ha llamado dos veces aquí para eliminar dos últimos elementos del vector temporalmente y reducir el tamaño del vector en 2. El contenido del vector se ha impreso dos veces antes y después de usar la función pop_back().
//Incluir las bibliotecas necesarias
#incluir
#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
En t principal ( ) {
//Declarar un vector de valores de cadena
vector < cadena > flores = { 'Rosa' , 'Lity' , 'Maravilla' , 'Tulipán' , 'León de agua' } ;
corte << 'Los valores del vector : \norte ' ;
//Itera el vector usando el bucle para imprimir los valores
para ( En t i = 0 ; i < flores. tamaño ( ) ; ++ i )
corte << flores [ i ] << ' ' ;
corte << ' \norte ' ;
//Elimina los dos últimos valores del vector
flores. pop_back ( ) ;
flores. pop_back ( ) ;
corte << ' \norte Los valores del vector después de eliminar: \norte ' ;
//Itera el vector usando el bucle para imprimir los valores
para ( En t i = 0 ; i < flores. tamaño ( ) ; ++ i )
corte << flores [ i ] << ' ' ;
corte << ' \norte ' ;
devolver 0 ;
}
Producción:
El siguiente resultado aparecerá después de ejecutar el código anterior.
Ejemplo 2: crear un nuevo vector a partir de otro vector
Cree un archivo C++ con el siguiente código para insertar valores específicos en un vector vacío de otro vector eliminando los elementos usando la función pop_back(). En el código se ha declarado un vector de 8 números enteros y un vector vacío de tipo entero. El bucle ' while ' se ha utilizado para iterar cada elemento del primer vector e insertar el elemento en el nuevo vector si el número es divisible por 2. Aquí también se ha calculado la suma de todos los números pares. Cada elemento del primer vector será eliminado por la función pop_back() en cada iteración del bucle para alcanzar la condición de terminación del bucle.
//Incluir las bibliotecas necesarias
#incluir
#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
En t principal ( )
{
//Declarar un vector de datos enteros
vector < En t > intVector { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//Declarar un vector vacío
vector < En t > nuevoVector ;
corte << 'Los valores del vector original: \norte ' ;
//Itera el vector usando el bucle para imprimir los valores
para ( En t i = 0 ; i < intVector. tamaño ( ) ; ++ i )
corte << intVector [ i ] << ' ' ;
corte << ' \norte ' ;
//Inicializa el resultado
En t resultado = 0 ;
//Itera el bucle hasta que el vector quede vacío
mientras ( ! intVector. vacío ( ) )
{
/*
Descubra los números pares para insertar en el nuevo Vector
y calcular la suma de los números pares
*/
si ( intVector. atrás ( ) % 2 == 0 )
{
resultado + = intVector. atrás ( ) ;
nuevoVector. hacer retroceder ( intVector. atrás ( ) ) ;
}
//Eliminar elemento del final de intVactor
intVector. pop_back ( ) ;
}
corte << 'Los valores del nuevo vector: \norte ' ;
//Itera el vector usando el bucle para imprimir los valores
para ( En t i = 0 ; i < nuevoVector. tamaño ( ) ; ++ i )
corte << nuevoVector [ i ] << ' ' ;
corte << ' \norte ' ;
corte << 'La suma de todos los números pares: ' << resultado << ' \norte ' ;
devolver 0 ;
}
Producción:
El siguiente resultado aparecerá después de ejecutar el código anterior. Había tres números pares en el primer vector. Hay 8, 2 y 4.
Ejemplo 3: comprobar que el último elemento del vector se haya eliminado o no
Se mencionó anteriormente que pop_back() no elimina los elementos permanentemente del vector, sino que elimina el elemento reduciendo el tamaño del vector únicamente. Entonces, el elemento eliminado permanece en la misma posición hasta que el tamaño del vector aumenta y reemplaza el elemento con otro elemento. Cree un archivo C++ con el siguiente código para comprobar que el elemento eliminado por la función pop_back() existe o no. La última posición del vector original se imprimió antes y después de usar la función pop_back().
#incluir#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
En t principal ( )
{
//Declarar un vector de datos enteros
vector < En t > intVector { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//Declarar un vector vacío
vector < En t > nuevoVector ;
//Declarar una variable entera
En t longitud ;
//Imprime el último elemento según el tamaño del vector
longitud = intVector. tamaño ( ) ;
corte << 'El tamaño actual del vector:' << longitud << ' \norte ' ;
corte << 'El último valor del vector antes de eliminar:' << intVector [ longitud - 1 ] << ' \norte ' ;
//Elimina el elemento del final del vector
intVector. pop_back ( ) ;
//Imprime el último elemento según el tamaño del vector después de eliminarlo
longitud = intVector. tamaño ( ) ;
corte << 'El tamaño actual del vector:' << longitud << ' \norte ' ;
corte << 'El último valor del vector después de eliminar:' << intVector [ longitud ] << ' \norte ' ;
devolver 0 ;
}
Producción:
El siguiente resultado aparecerá después de ejecutar el código anterior. El resultado muestra que el tamaño del vector se reduce en 1, pero el elemento de la última posición del vector original aún existe.
Conclusión:
En este tutorial se describen tres usos diferentes de la función pop_back() mediante ejemplos sencillos. El objetivo principal del uso de esta función quedará claro para los lectores después de practicar los ejemplos de este tutorial.