list::merge

Entfernt die Elemente aus der Argumentliste, fügt sie in die Zielliste das Order-Objekt und das neue, Einheit von Elementen in aufsteigender Reihenfolge oder in einer anderen angegebenen Reihenfolge.

void merge(
   list<Type, Allocator>& _Right
);
template<class Traits>
   void merge(
      list<Type, Allocator>& _Right, 
      Traits _Comp
   );

Parameter

  • _Right
    Die mit der Zielliste zusammenzuführenden Argumentliste.

  • _Comp
    Der Vergleichsoperator verwendet, um Elemente der Zielliste zu sortieren.

Hinweise

Die Argumentliste _Right wird mit der Zielliste zusammengeführt.

müssen Argument- und Ziellisten mit der gleichen Vergleichsbeziehung sortiert werden, durch die die resultierende Sequenz sortiert werden soll.Die Standardreihenfolge für die erste Memberfunktion ist aufsteigende Reihenfolge.Die zweite Memberfunktion erzwingt den vom Benutzer angegebenen Vergleichsoperation _Comp der Klasse Traits auf.

Beispiel

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

Anforderungen

Header: <list>

Namespace: std

Siehe auch

Referenz

list Class

Standardvorlagenbibliothek