РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
255 of 815 menu

Метод erase класса list

Метод erase класса list удаляет один элемент или диапазон элементов из списка. В первом варианте мы передаем итератор на удаляемый элемент, а во втором - итераторы начала и конца диапазона для удаления. Метод возвращает итератор на элемент, следующий за последним удаленным элементом.

Синтаксис

iterator erase(iterator pos) iterator erase(iterator first, iterator last)

Пример

Давайте удалим один элемент из списка. Для этого передадим итератор на второй элемент:

#include <iostream> #include <list> using namespace std; int main() { list<int> lst = {1, 2, 3, 4, 5}; auto it = lst.begin(); ++it; lst.erase(it); for (int elem : lst) { cout << elem << " "; } return 0; }

Результат выполнения кода:

1 3 4 5

Пример

Давайте удалим диапазон элементов из списка. Для этого передадим итераторы на второй и четвертый элементы:

#include <iostream> #include <list> using namespace std; int main() { list<int> lst = {1, 2, 3, 4, 5}; auto first = lst.begin(); auto last = lst.begin(); ++first; ++last; ++last; ++last; lst.erase(first, last); for (int elem : lst) { cout << elem << " "; } return 0; }

Результат выполнения кода:

1 4 5

Пример

Давайте удалим все элементы списка, начиная со второго:

#include <iostream> #include <list> using namespace std; int main() { list<int> lst = {1, 2, 3, 4, 5}; auto it = lst.begin(); ++it; lst.erase(it, lst.end()); for (int elem : lst) { cout << elem << " "; } return 0; }

Результат выполнения кода:

1

Смотрите также

  • класс list,
    который представляет двусвязный список
  • метод insert,
    который вставляет элементы в список
  • метод remove,
    который удаляет элементы по значению
  • метод push_back,
    который добавляет элемент в конец списка
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить