Freigeben über


list::unique

Entfernt benachbarte doppelte Elemente oder benachbarte Elemente, die einige andere binäre Prädikate aus einer Liste erfüllen.

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

Parameter

  • _Pred
    Das binäre Prädikat, das zum Vergleichen von aufeinander folgenden Elementen verwendet wird.

Hinweise

Bei dieser Funktion wird davon ausgegangen, dass die Liste sortiert ist, sodass alle doppelten Elemente benachbart sind. Duplikate, die nicht nebeneinander angezeigt werden, werden nicht gelöscht.

Die erste Memberfunktion entfernt jedes Element, das mit dem vorherigen Element übereinstimmt.

Die zweite Memberfunktion entfernt jedes Element, das die Prädikatfunktion _Pred erfüllt, wenn ein Vergleich mit dem vorherigen Element durchgeführt wird. Sie können eines der binären Funktionsobjekte verwenden, die im <functional>-Header für das Argument "_Pred" deklariert sind, oder ein eigenes erstellen.

Beispiel

// 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;
}
  

Anforderungen

Header: <list>

Namespace: std

Siehe auch

Referenz

list-Klasse

Standardvorlagenbibliothek