Udostępnij za pośrednictwem


list::unique

Usuwa sąsiednie zduplikowane elementy lub sąsiadujące elementy, które spełniają niektóre inne predykatu dwuelementowego z listy.

void unique( );
template<class BinaryPredicate>
   void unique(
      BinaryPredicate _Pred
   );

Parametry

  • _Pred
    Predykatu dwuelementowego używane do porównywania kolejne elementy.

Uwagi

Funkcja ta zakłada, że lista jest sortowana, tak, aby wszystkie zduplikowane elementy są sąsiadujące.Duplikatów, które nie są sąsiadujące, nie zostaną usunięte.

Pierwsza funkcja Członkowskie Usuwa każdy element, który porównuje równa jej poprzedni element.

Druga funkcja Członkowskie Usuwa każdy element, który spełnia funkcję predykatu _Pred w porównaniu z jego poprzedni element.Można użyć dowolnego obiekty binarne funkcja zadeklarowana w **<functional>**nagłówka do _Pred argumentu lub można tworzyć własne.

Przykład

// list_unique.cpp
// compile with: /EHsc
#include <list>
#include <iostream>

int main( )
{
   using namespace std;
   list <int> c1;
   list <int>::iterator c1_Iter, c2_Iter,c3_Iter;
   not_equal_to<int> mypred;
   
   c1.push_back( -10 );
   c1.push_back( 10 );
   c1.push_back( 10 );
   c1.push_back( 20 );
   c1.push_back( 20 );
   c1.push_back( -10 );

   cout << "The initial list is c1 =";
   for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
      cout << " " << *c1_Iter;
   cout << endl;
   
   list <int> c2 = c1;
   c2.unique( );
   cout << "After removing successive duplicate elements, c2 =";
   for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
      cout << " " << *c2_Iter;
   cout << endl;

   list <int> c3 = c2;
   c3.unique( mypred );
   cout << "After removing successive unequal elements, c3 =";
   for ( c3_Iter = c3.begin( ); c3_Iter != c3.end( ); c3_Iter++ )
      cout << " " << *c3_Iter;
   cout << endl;
}
  

Wymagania

Nagłówek: <list>

Obszar nazw: std

Zobacz też

Informacje

list Class

Standardowa biblioteka szablonu