Inhaltsverzeichnis

merge()

#include <algorithm>

Out merge (In first, In last, In2 first2, In2 last2, Out result) 
Out merge (In first, In last, In2 first2, In2 last2, Out result, Binary comp) 
Out merge (Exec pol, In first, In last, In2 first2, In2 last2, Out result) 
Out merge (Exec pol, In first, In last, In2 first2, In2 last2, Out result, binary comp) 
 
[last1,last2,res] = ranges::merge (Range1 r1, Range2 r2, Out result, Binary comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}) 
[last1,last2,res] = ranges::merge (In first, In last, In2 first2, In2 last2, Out result, 
                                   Binary comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}) 

Führt zwei aufsteigend sortierte Bereiche [first,last) und [first2,last2) in [result,…) aufsteigend sortiert zusammen.

Bei gleichem Wert haben die Elemente des ersten Bereiches den Vortritt.

Parameter

first Anfang eines Bereiches
last Ende eines Bereiches
first2 Anfang des anderen Bereiches
last2 Ende des anderen Bereiches
result Anfang des Zielbereiches
comp Vergleichskriterium (Vorgabe = less)
proj einstelliger Funktor (Vorgabe = std::identity)
pol parallele Ausführungsart

Ergebnis

Rückgabewert: Iterator result_last auf Ende des Zielbereiches bzw. {last1,last2,result_last} als Struktur mit Elementen namens in1, in2, out.

Siehe auch

inplace_merge().

Beispiel

merge.cpp
#include <algorithm>
#include <iostream>
 
int main()
{
  char p[] = "alo";
  char q[] = "Hl";  
  char gruss[10];
 
  char* ende = std::merge(p, p+3, q, q+2, gruss);
  *ende = '\0';
 
  std::cout << gruss << '\n';
}