C++_演算法_刪除演算法
①演算法remove() ForwardIterator remove(ForwardIterator _First, ForwardIterator _Last, const Type& _Val); 說明:區間中刪除值為_Val的元素。函式返回值為刪除元素之後容器的新末尾位置。
②演算法remove_if() ForwardIterator remove_if(ForwardIterator _First, ForwardIterator _Last, Predicate Pred); 說明:此種演算法刪除元素後會導致元素變動,所以此種演算法不適用於關聯式容器,只能應用於順序行容器。關聯式容器可以用erase(),對於list可以使用成員函式remove()。
③remove_copy()和remove_copy_if() OutputIterator remove_copy(ForwardIterator _First, ForwardIterator _Last, OutputIterator _Result, const T& value); OutputIterator remove_copy_is(InputIterator _First, InputIterator _Last, OutputIterator _Result, Predicate Pred); 說明:複製過程中移除相關元素。
④移除重複元素 ForwardIterator unique(ForwardIterator _First, ForwardIterator _Last); ForwardIterator unique(ForwardIterator _First, ForwardIterator _Last, OutputIterator _Result, BinaryPredicate _Comp); 說明:後者函式返回值為修正後容器的最後一個元素位置。
⑤複製過程中移除重複元素 OutputIterator unique_copy(InputIterator _First, InputIterator _Last, OutputIterator _Result); OutputIterator unique_copy(InputIterator _First, InputIterator _Last, OutputIterator _Result, BinaryPredicate _Comp); 說明:函式返回值為最後一個被複制的元素的下一個位置。