Удаление последнего элемента из списка C++: попрощайтесь с хвостом!

В C++ работа со списками — обычная задача, и иногда нам может потребоваться удалить последний элемент из списка. Независимо от того, являетесь ли вы новичком или опытным разработчиком, эта статья в блоге расскажет вам о различных методах удаления последнего элемента из списка в C++. Итак, приступим и научимся прощаться с хвостом!

Метод 1: использование pop_back()
Самый простой и понятный способ удалить последний элемент из списка C++ — использовать функцию pop_back(). Он удаляет последний элемент списка, уменьшая его размер на единицу.

#include <iostream>
#include <list>
int main() {
    std::list<int> myList = {1, 2, 3, 4, 5};

    myList.pop_back(); // Removes the last element

    // Display the updated list
    for (const auto& element : myList) {
        std::cout << element << " ";
    }

    return 0;
}

Метод 2: использование erase()с итератором
Другой способ удалить последний элемент из списка — использовать функцию erase()с итератор, указывающий на последний элемент. Этот метод позволяет удалить любой элемент из списка, а не только последний.

#include <iostream>
#include <list>
int main() {
    std::list<int> myList = {1, 2, 3, 4, 5};

    auto lastElement = std::prev(myList.end()); // Get an iterator to the last element
    myList.erase(lastElement); // Remove the last element

    // Display the updated list
    for (const auto& element : myList) {
        std::cout << element << " ";
    }

    return 0;
}

Метод 3: использование resize()
Если вы хотите удалить последний элемент из списка, не удаляя его фактически, вы можете использовать resize()функция. При уменьшении размера списка последний элемент будет фактически удален.

#include <iostream>
#include <list>
int main() {
    std::list<int> myList = {1, 2, 3, 4, 5};

    myList.resize(myList.size() - 1); // Resize the list to drop the last element

    // Display the updated list
    for (const auto& element : myList) {
        std::cout << element << " ";
    }

    return 0;
}

В этой записи блога мы рассмотрели различные методы удаления последнего элемента из списка C++. Мы рассмотрели использование pop_back()для простого удаления, erase()с итератором для большей гибкости и resize()для удаления последнего элемент без удаления. Не стесняйтесь выбирать метод, который лучше всего соответствует вашим потребностям!