merge - una funzione che unisce due array ordinati, vale a dire, in tempo lineare ottiene un array ordinato, che consiste degli elementi del primo e del secondo array.
Richiede 5 argomenti: due limiti per ciascun array e il limite sinistro della destinazione (dove verranno posizionati gli elementi dell'array risultante).
Ulteriori dettagli sono disponibili nella documentazione.
Esempi:
// gli array di origine devono essere ordinati
vettore a = { 1, 3, 5, 7 };
vettore b = { 2, 4, 6 };
// necessita che la destinazione sia abbastanza grande
vettore c(7);
merge(a.begin(), a.end(), b.begin(), b.end(), c.begin());
// c = [1, 2, 3, 4, 5, 6, 7]
// gli elementi possono essere ripetuti
un = {1, 2, 4, 4};
b = {2, 3, 3, 3, 4, 4};
c.resize(10);
merge(a.begin(), a.end(), b.begin(), b.end(), c.begin());
// c = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
Questa funzione è molto utile nel contesto del merge sort.