std::forward_list::unique
Материал из cppreference.com
< cpp | container | forward list
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| void unique(); |
(1) | (начиная с C++11) |
| template< class BinaryPredicate > void unique( BinaryPredicate p ); |
(2) | (начиная с C++11) |
Удаляет все' последовательные повторяющиеся элементы из контейнера. Только первый элемент в каждой группе равных элементов не осталось. Первый вариант используется
operator== для сравнения элементов, вторая версия использует данный бинарный предикат p.Original:
Removes all consecutive duplicate elements from the container. Only the first element in each group of equal elements is left. The first version uses
operator== to compare the elements, the second version uses the given binary predicate p.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Содержание |
[править] Параметры
| p | - | бинарный предикат, который возвращает true, если элементы следует считать равными. Сигнатура функции-предиката должны быть эквивалентна следующей:
В сигнатуре не обязательно наличие const &, но функция не должна изменять переданные ей объекты. | |||||||||
[править] Возвращаемое значение
(Нет)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[править] Сложность
Линейный в размере контейнера
Original:
Linear in the size of the container
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[править] Пример
#include <iostream> #include <forward_list> int main() { std::forward_list<int> x = {1, 2, 2, 3, 3, 2, 1, 1, 2}; std::cout << "contents before:"; for (auto val : x) std::cout << ' ' << val; std::cout << '\n'; x.unique(); std::cout << "contents after unique():"; for (auto val : x) std::cout << ' ' << val; std::cout << '\n'; return 0; }
Вывод:
contents before: 1 2 2 3 3 2 1 1 2 contents after unique(): 1 2 3 2 1 2
[править] См. также
| removes consecutive duplicate elements in a range (шаблон функции) | |