std::list::remove, remove_if
Z cppreference.com
void remove( const T& value ); |
||
template< class UnaryPredicate > void remove_if( UnaryPredicate p ); |
||
Usuwa wszystkie elementy spełniające podane kryteria. Pierwsza wersja usuwa wszystkie elementy równe value, druga wersja usuwa wszystkie elementy, dla których predykat p zwraca true.
Parametry
| value | - | wartość elementów do usunięcia |
Zwracana wartość
(brak)
Złożoność
Liniowa względem rozmiaru kontenera
Przykład
#include <list>
#include <iostream>
int main()
{
std::list<int> l = { 1,100,2,3,10,1,11,-1,12 };
l.remove(1); // usuwa wszystkie (tutaj: dwa) elementy równe 1
l.remove_if([](int n){ return n > 10; }); // usuwa wszystkie elementy większe, niż 10
for (int n : l) {
std::cout << n << ' ';
}
std::cout << '\n';
}
Wynik:
2 3 10 -1
Zobacz także
| usuwa elementy spełniające podane kryteria (szablon funkcji) |