#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.
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 |
Rückgabewert: Iterator result_last
auf Ende des Zielbereiches bzw. {last1,last2,result_last}
als Struktur mit Elementen namens in1, in2, out
.
#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'; }