Метод remove
Метод remove класса list удаляет из списка все элементы, значение которых равно переданному аргументу. Метод принимает один параметр - значение, которое нужно удалить. Если в списке несколько элементов с таким значением, будут удалены все они. Размер списка уменьшается на количество удаленных элементов.
Синтаксис
list.remove(value)
Пример
Давайте создадим список с числами и удалим из него все элементы со значением 3:
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> lst = {1, 2, 3, 4, 3, 5};
lst.remove(3);
for (int el : lst) {
cout << el << " ";
}
return 0;
}
Результат выполнения кода:
1 2 4 5
Пример
Давайте удалим из списка строк все элементы со значением "b":
#include <iostream>
#include <list>
#include <string>
using namespace std;
int main()
{
list<string> lst = {"a", "b", "c", "b", "d"};
lst.remove("b");
for (string el : lst) {
cout << el << " ";
}
return 0;
}
Результат выполнения кода:
"a" "c" "d"
Пример
Давайте проверим, что произойдет, если в списке нет элементов с заданным значением:
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> lst = {1, 2, 3, 4, 5};
lst.remove(10);
for (int el : lst) {
cout << el << " ";
}
return 0;
}
Результат выполнения кода:
1 2 3 4 5