다음을 통해 공유


list::unique

일부 목록에서 다른 이진 조건자에 부합 하는 인접 한 요소 또는 인접 한 중복 요소를 제거 합니다.

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

매개 변수

  • _Pred
    연속 된 요소를 비교 하는 데 이진 술 부입니다.

설명

모든 중복 요소가 인접 한 수 있도록이 함수 목록이 정렬 되어 있다고 가정 합니다.인접 하지 않은 중복 된 항목은 삭제 되지 않습니다.

첫 번째 멤버 함수 같은 이전 요소를 비교 하는 모든 요소를 제거 합니다.

조건자 함수에 맞는 모든 요소는 두 번째 멤버 함수 제거 _Pred 는 앞의 요소와 비교 했을 때.선언에 이진 함수 개체 중 하나를 사용할 수 있습니다는 **<functional>**머리글 인수 _pred의 만들 수 있습니다 직접.

예제

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

요구 사항

헤더: <list>

네임 스페이스: std

참고 항목

참조

list Class

표준 템플릿 라이브러리