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