Пространства имён
Варианты
Действия

std::list::unique

Материал из cppreference.com

<metanoindex/>

 
 
 
 
<tbody> </tbody>
void unique();
(1)
template< class BinaryPredicate > void unique( BinaryPredicate p );
(2)
Удаляет все' последовательные повторяющиеся элементы из контейнера. Только первый элемент в каждой группе равных элементов не осталось. Первый вариант используется operator== для сравнения элементов, вторая версия использует данный бинарный предикат p.
Оригинал:
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.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Параметры

p бинарный предикат, который возвращает ​true если элементы следует считать равными.

Определение функции предиката должно быть эквивалентно следующему:

bool pred(const Type1 &a, const Type2 &b);

Определение не должно обязательно содержать const &, но функция не должна модифицировать принимаемые объекты.
Типы Type1 и Type2 должны быть таковы, что объект типа list<T,Allocator>::const_iterator может быть разыменован и затем неявно преобразован в оба из них.

Возвращаемое значение

(Нет)

Сложность

Линейный в размере контейнера
Оригинал:
Linear in the size of the container
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Пример

#include <iostream>
#include <list>

int main()
{
  std::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

См. также

удаляет последовательные повторяющиеся элементы в диапазоне
(шаблон функции) [править]