fusionar: una función que fusiona dos matrices ordenadas, es decir, en tiempo lineal obtiene una matriz ordenada, que consta de los elementos de la primera y la segunda matriz.
Se necesitan 5 argumentos: dos límites para cada matriz y el límite izquierdo del destino (donde se colocarán los elementos de la matriz resultante).
Se pueden encontrar más detalles en la documentación.
Ejemplos:
// las matrices de origen deben ordenarse
vector a = { 1, 3, 5, 7 };
vector b = { 2, 4, 6 };
// necesita que el destino sea lo suficientemente grande
vector c(7);
merge(a.begin(), a.end(), b.begin(), b.end(), c.begin());
// c = [1, 2, 3, 4, 5, 6, 7]
// los elementos se pueden repetir
a = {1, 2, 4, 4};
b = {2, 3, 3, 3, 4, 4};
c.redimensionar(10);
merge(a.begin(), a.end(), b.begin(), b.end(), c.begin());
// c = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
Esta función es muy útil en el contexto de la ordenación por fusión.