Aracılığıyla paylaş


list::unique

Bitişik yinelenen öğeleri veya bazı diğer ikili karşılaştırma listesi karşılamak bitişik öğeleri kaldırır.

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

Parametreler

  • _Pred
    Birbirini izleyen öğeleri karşılaştırmak için kullanılan ikili karşılaştırma belirtimi.

Notlar

Tüm yinelenen öğeler bitişik olan bu işlev listede sıralanmış varsayar.Bitişik olmayan yinelenen silinmeyecek.

İlk üye işlevi, önceki öğeye eşit karşılaştırır her öğeyi kaldırır.

İkinci üye işlev doðrulama işlevi karşılayan her öğeyi kaldırır _Pred önceki alt öğesi ile karşılaştırıldığında.İçinde bildirilen ikili işlevi nesneleri kullanabilirsiniz **<functional>**bağımsız değişkeni _Pred ya da sizin için başlığı oluşturup kendi.

Örnek

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

Gereksinimler

Başlık: <list>

Namespace: std

Ayrıca bkz.

Başvuru

list Class

Standart Şablon Kütüphanesi