list::merge
Rimuove gli elementi dall'elenco di argomenti, li inserisce nell'elenco di destinazione e ordinare il nuovo, il set combinato degli elementi in ordine crescente o in un altro ordine specificato.
void merge(
list<Type, Allocator>& _Right
);
template<class Traits>
void merge(
list<Type, Allocator>& _Right,
Traits _Comp
);
Parametri
_Right
L'elenco di argomenti da unire all'elenco di destinazione._Comp
L'operatore di confronto utilizzato per ordinare gli elementi dell'elenco di destinazione.
Note
L'elenco di argomenti _Right viene unito con l'elenco di destinazione.
Sia gli elenchi di destinazione dell'argomento devono essere ordinati con la stessa relazione di confronto in cui la sequenza risultante deve essere ordinata.l'ordine predefinito per la prima funzione membro è ordine crescente.La seconda funzione membro impone l'operazione di confronto definita da _Comp di classe Traits.
Esempio
// list_merge.cpp
// compile with: /EHsc
#include <list>
#include <iostream>
int main( )
{
using namespace std;
list <int> c1, c2, c3;
list <int>::iterator c1_Iter, c2_Iter, c3_Iter;
c1.push_back( 3 );
c1.push_back( 6 );
c2.push_back( 2 );
c2.push_back( 4 );
c3.push_back( 5 );
c3.push_back( 1 );
cout << "c1 =";
for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
cout << " " << *c1_Iter;
cout << endl;
cout << "c2 =";
for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
cout << " " << *c2_Iter;
cout << endl;
c2.merge( c1 ); // Merge c1 into c2 in (default) ascending order
c2.sort( greater<int>( ) );
cout << "After merging c1 with c2 and sorting with >: c2 =";
for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
cout << " " << *c2_Iter;
cout << endl;
cout << "c3 =";
for ( c3_Iter = c3.begin( ); c3_Iter != c3.end( ); c3_Iter++ )
cout << " " << *c3_Iter;
cout << endl;
c2.merge( c3, greater<int>( ) );
cout << "After merging c3 with c2 according to the '>' comparison relation: c2 =";
for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
cout << " " << *c2_Iter;
cout << endl;
}
Requisiti
intestazione: <list>
Spazio dei nomi: deviazione standard