przejście do zawartości
zpr c++ quick reference
Narzędzia użytkownika
Zarejestruj się!
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Zarejestruj się!
Ostatnie zmiany
Menadżer multimediów
Indeks
Ślad:
•
list
remove_remove_if
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Algorytmy remove remove_if ====== **remove()** – usuwa z określonego zakresu elementy równe podanej wartości. Zwraca iterator do ostatniego z pozostałych elementów. **remove_if()** – usuwa z określonego zakresu elementy, dla których dany predykat jest prawdziwy. Zwraca iterator do ostatniego z pozostałych elementów. ===== Nagłówek dla algorytmów remove i remove_if ===== <code cpp> #include<algorithm> </code> ===== Opis algorytmu remove ===== === Definicja algorytmu remove === <code cpp>template < class ForwardIterator, class T > ForwardIterator remove ( ForwardIterator first, ForwardIterator last, const T& value ){ ForwardIterator result = first; for ( ; first != last; ++first) if (!(*first == value)) *result++ = *first; return result; } </code> === Parametry algorytmu remove=== * first - iterator identyfikujący początek zakresu elementów * last - interator identyfikujący koniec zakresu elementów * value - wartość, która ma zostać logicznie usunięta === Wartość zwracana algorytmu remove === Iterator do ostatniego z pozostałych elementów. === Jak algorytm NIE działa === Algorymt remove niczego fizycznie nie usuwa, dlatego liczebność elementów zawartych w kontenerze nigdy się nie zmienia. === Działanie algorytmu === Algorymt remove dokonuje przemieszczenia elementów w zadanym mu przy wywołaniu zakresie w taki sposób , by wszystkie te elementy, które nie podlegają „usunięciu”, znalazły się na początku przetwarzanego zakresu i to w takiej samej względnej kolejności. Algorytm zwraca iterator wskazujący pierwszy element za końcem przedziału zawierającego wszystkie „nieusunięte” elementy. Ta wartość jest „nowym logicznym końcem zakresu”.
remove_remove_if.1240942843.txt.gz
· ostatnio zmienione: 2009/04/28 20:20 przez
piotrek
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Do góry