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 contenedorsize()se reducirá en 1. Se elimina el último elemento.
  • Nota: si la lista enlazada está vacía, llamar apop_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;
}

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;
}

Resultado esperado de la ejecución:

Eliminado correctamente
Eliminado correctamente
Eliminado correctamente
La lista enlazada está vacía, no se puede eliminar

C++ clase de contenedor <list>

Otras extensiones