Przestrzenie nazw
Warianty

std::list::remove, remove_if

Z cppreference.com
Wersja z dnia 00:23, 19 sty 2018 autorstwa Kaznov (dyskusja | edycje) (Utworzono nową stronę "{{include page|cpp/container/remove|list}} {{alllanglinks}}")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
<tbody> </tbody>
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

Szablon:par pred1

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) [edit]