-
Notifications
You must be signed in to change notification settings - Fork 3
Merge de 2 vectores
Problema: dados 2 vectores de N1 y N2 elementos, no necesariamente de la misma longitud, se quiere obtener un 3er vector ordenado compuesto por los elementos de los otros 2 vectores.
Ejemplos:
- Si V1[ ] = {1, 7, 5, 3, 11, 13, 9}; N1 = 7;
Si V2[ ] = {2, 6, 4, 10, 12, 8}; N2 = 6;
Salida: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
- Si V1[ ] = {1, 7, 5} ; N1 = 3;
Si V2[ ] = {2, 8, 4, 11, 12, 15}; N2 = 7;
Salida: {1, 2, 3, 4, 5, 7, 8, 11, 12, 15};
Luego de ordenar los 2 vectores que recibimos, debemos crear un 3er vector con una longitud igual a la suma de los otros 2. Después recorreremos los vectores paralelamente buscando el menor elemento para luego insertarlo en el nuevo vector. Al estar ordenados, este procedimiento se simplifica ya que los elementos menores estarán en las primeras posiciones, luego, solo deberemos comparar cual es el menor antes de insertarlo. Si los vectores recibidos fueran de tamaños distintos, luego de recorrer por completo el menor, habiendo insertado ya sus elementos en el nuevo, es posible encolar lo restante del vector mas largo dado que ambos estan ordenados.
Disponible en Enciclopedia Algoritmos C++
Disponible en ejemplo merge de vectores
Algos - Proyecto Iniciado por la cátedra "Algoritmos y Estructuras de Datos" en Agosto de 2019 - UTN Santa Fe - Argentina.
Objetivo: Elaborar una enciclopedia de algoritmos codificados en C++, que resuelvan problemas habitualmente tratados en las asignaturas de Fundamentos de Programación, como herramienta complementaria al proceso de aprendizaje de los alumnos de la asignatura, y de los entusiastas de programación y de las competencias de programación como TecnoMate.