C++ <list> función pop_back
C++ clase de contenedor <list>
pop_backes la que en list se utiliza paraeliminar el elemento al final de la lista enlazadala función.
pop_backEs la función miembro de la clase contenedor, utilizada para eliminar el último elemento de la lista enlazada.
En list,pop_backla complejidad temporal de esta operación es O(1), muy eficiente.
Definición de las palabras: popes "pop" (sacar),backes "back" (detrás), y juntos significan extraer el elemento del final.
Sintaxis básica y parámetros
pop_backEs la función miembro de la clase contenedor; no requiere parámetros para su invocación.
Formato de sintaxis
void pop_back();
Descripción de parámetros
- Parámetro: sin parámetros
Descripción de la función
- Valor de retorno:
void(sin valor de retorno). - Efecto: el tamaño del contenedor
size()se reducirá en 1. Se elimina el último elemento. - Nota: si la lista enlazada está vacía, llamar a
pop_backes un comportamiento indefinido.
Ejemplo
Ejemplo 1: Uso básico - Eliminar el último elemento
Ejemplo
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {10, 20, 30, 40, 50};
std::cout << "Lista original: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
// Eliminar el último elemento
numbers.pop_back();
std::cout << "Después de pop_back(): ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.pop_back();
std::cout << "Después de otro pop_back(): ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {10, 20, 30, 40, 50};
std::cout << "Lista original: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
// Eliminar el último elemento
numbers.pop_back();
std::cout << "Después de pop_back(): ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.pop_back();
std::cout << "Después de otro pop_back(): ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Resultado esperado de la ejecución:
原始 list: 10 20 30 40 50 pop_back() 后: 10 20 30 40 再 pop_back() 后: 10 20 30
Ejemplo 2: Uso seguro de pop_back
Antes de usarlo, comprueba si la lista enlazada está vacía.
Ejemplo
#include <iostream>
#include <list>
void safePopBack(std::list<int>& lst) {
if(!lst.empty()) {
lst.pop_back();
std::cout << "Eliminación exitosa" << std::endl;
} else {
std::cout << "La lista está vacía, no se puede eliminar" << std::endl;
}
}
int main() {
std::list<int> data = {1, 2, 3};
safePopBack(data);
safePopBack(data);
safePopBack(data);
safePopBack(data); // Ahora está vacía
return 0;
}
#include <list>
void safePopBack(std::list<int>& lst) {
if(!lst.empty()) {
lst.pop_back();
std::cout << "Eliminación exitosa" << std::endl;
} else {
std::cout << "La lista está vacía, no se puede eliminar" << std::endl;
}
}
int main() {
std::list<int> data = {1, 2, 3};
safePopBack(data);
safePopBack(data);
safePopBack(data);
safePopBack(data); // Ahora está vacía
return 0;
}
Resultado esperado de la ejecución:
Eliminado correctamente Eliminado correctamente Eliminado correctamente La lista enlazada está vacía, no se puede eliminar
Otras extensiones