list::merge (STL/CLR)

순서가 지정된 두 개의 제어되는 시퀀스를 병합합니다.

    void merge(list<Value>% right);
    template<typename Pred2>
        void merge(list<Value>% right, Pred2 pred);

매개 변수

  • pred
    요소 쌍에 대 한 비교자입니다.

  • right
    컨테이너에 병합할 수 있습니다.

설명

에 의해 제어 되는 시퀀스의 모든 요소를 제거 하는 첫 번째 멤버 함수 right 및 제어 되는 시퀀스를 삽입 합니다.두 시퀀스에서 이전에 주문 해야 operator< -어느 순서 대로 진행 되는 동안 요소 값 않습니다 감소 해야 합니다.결과 시퀀스에서 또한 정렬 됩니다 operator<.이 멤버 함수를 사용 하면 값도 증가 하는 시퀀스에 값이 증가 하는 두 시퀀스를 병합 합니다.

시퀀스에서 정렬 되는 점을 제외 하 고 두 번째 멤버 함수를 첫 번째, 동일 동작 pred - pred(X, Y) 요소에 대해 false 여야 합니다 X 는 요소 다음에 오는 Y 시퀀스에서.병합 조건자 함수 또는 지정한 대리자에서 주문 하는 두 시퀀스를 사용 합니다.

모두 안정 된 결합을 수행 하는 함수--원본 제어 된 시퀀스의 요소가 없는 쌍 결과 제어 되는 시퀀스의 반대입니다.또한 요소 쌍을 경우 X 및 Y 해당 주문-결과 제어 되는 시퀀스에 있는 !(X < Y) && !(X < Y) -원본 제어 되는 시퀀스의 요소에 의해 제어 되는 시퀀스의 요소 앞을 나타납니다 right.

예제

// cliext_list_merge.cpp 
// compile with: /clr 
#include <cliext/list> 
 
typedef cliext::list<wchar_t> Mylist; 
int main() 
    { 
    cliext::list<wchar_t> c1; 
    c1.push_back(L'a'); 
    c1.push_back(L'c'); 
    c1.push_back(L'e'); 
 
// display initial contents " a c e" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    cliext::list<wchar_t> c2; 
    c2.push_back(L'b'); 
    c2.push_back(L'd'); 
    c2.push_back(L'f'); 
 
// display initial contents " b d f" 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// merge and display 
    cliext::list<wchar_t> c3(c1); 
    c3.merge(c2); 
    for each (wchar_t elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    System::Console::WriteLine("c2.size() = {0}", c2.size()); 
 
// sort descending, merge descending, and redisplay 
    c1.sort(cliext::greater<wchar_t>()); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    c3.sort(cliext::greater<wchar_t>()); 
    for each (wchar_t elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    c3.merge(c1, cliext::greater<wchar_t>()); 
    for each (wchar_t elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    System::Console::WriteLine("c1.size() = {0}", c1.size()); 
    return (0); 
    } 
 
  

요구 사항

헤더: < cliext/목록 >

네임 스페이스: cliext

참고 항목

참조

list (STL/CLR)

list::sort (STL/CLR)

list::splice (STL/CLR)