Поделиться через


list::unique (STL/CLR)

Удаляет смежные элементы, которые прошли заданный тест.

    void unique();
    template<typename Pred2>
        void unique(Pred2 pred);

Параметры

  • pred
    Компаратор для пар элементов.

Заметки

Первый функцию-член удаляет из управляемой последовательности (стирает) каждый элемент, который сравнивает равно своему предыдущему элементу -- если элемент X предшествует элемент Y и X == Y, функция-член удаляет Y.Используется, чтобы удалить все, кроме одной копии каждого самой длинной общей подпоследовательности соседних элементов, которые сравнивают равные.Обратите внимание, что если управляемую последовательность восходящий, например путем вызова list::sort (STL/CLR)(), функцию-член, оставляет только элементы с уникальными значениями.(Имя) соответственно.

Второй функцию-член работает так же, как и во-первых, за исключением того, что он удаляет каждый элемент Y за элементом X, для которого pred(X, Y).Используется, чтобы удалить все, кроме одной копии каждого самой длинной общей подпоследовательности соседних элементов, которые удовлетворяют функции предиката) или делегируете, что указан.Обратите внимание, что если управляемую последовательность восходящий, например путем вызова sort(pred), функцию-член, оставляет только те элементы, которые не имеют ключом с любыми другими элементами.

Пример

// cliext_list_unique.cpp 
// compile with: /clr 
#include <cliext/list> 
 
int main() 
    { 
    cliext::list<wchar_t> c1; 
    c1.push_back(L'a'); 
    c1.push_back(L'a'); 
    c1.push_back(L'b'); 
    c1.push_back(L'c'); 
 
// display initial contents " a a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// display contents after unique 
    cliext::list<wchar_t> c2(c1); 
    c2.unique(); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// display contents after unique(not_equal_to) 
    c2 = c1; 
    c2.unique(cliext::not_equal_to<wchar_t>()); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
  

Требования

заголовок: <список cliext/>

Cliext пространство имен:

См. также

Ссылки

list (STL/CLR)

list::remove (STL/CLR)

list::remove_if (STL/CLR)

list::sort (STL/CLR)