Функция remove C++ <list>

C++ класс контейнера <list>


removeиспользуется в list, чтобыудалить все элементы, равные указанному значениюявляется функцией, представляющей собой высокоэффективную операцию, уникальную для связных списков.

removeявляется функцией-членом класса-контейнера, используемой для удаления всех элементов связного списка, равных указанному значению.

В list,removeвременная сложность — O(n).

Определения слов: removeозначает "remove", т. е. удалить все элементы, равные указанному значению.


Базовый синтаксис и параметры

Формат синтаксиса

void remove(const T& value);

Описание параметра

  • Параметр: value- значение элемента, который нужно удалить

Описание функции

  • Возвращаемое значение: void(Нет возвращаемого значения).
  • Эффект: удалить все элементы в связном списке, равные value.

Пример

Пример 1: Удалить все элементы, равные указанному значению

Пример

#include <iostream>
#include <list>

int main() {
    std::list<int> numbers = {1, 2, 3, 2, 4, 2, 5};

    std::cout << "Исходный: ";
    for(int n : numbers) std::cout << n << " ";
    std::cout << std::endl;

    // Удалить все элементы, равные 2
    numbers.remove(2);

    std::cout << "После remove(2): ";
    for(int n : numbers) std::cout << n << " ";
    std::cout << std::endl;

    return 0;
}

Ожидаемый результат выполнения:

原始: 1 2 3 2 4 2 5
remove(2) 后: 1 3 4 5

Пример 2: Удалить строку

Пример

#include <iostream>
#include <list>
#include <string>

int main() {
    std::list<std::string> words = {"apple", "banana", "apple", "cherry", "apple"};

    std::cout << "Исходный: ";
    for(const auto& w : words) std::cout << w << " ";
    std::cout << std::endl;

    words.remove("apple");

    std::cout << "remove(\"apple\") После: ";
    for(const auto& w : words) std::cout << w << " ";
    std::cout << std::endl;

    return 0;
}

Ожидаемый результат выполнения:

原始: apple banana apple cherry apple
remove("apple") 后: banana cherry

C++ класс контейнера <list>

Другие расширения