Cómo unir dos vectores en STL C ++?

C ++ STL | la unión de dos vectores : Aquí, vamos a aprender cómo para unir dos vectores en STL C ++?

Dados dos vectores y hay que unirse a ellos mediante el programa de STL C ++.

Ensamblar dos vectores

Para unir dos vectores , podemos utilizar función set_union () , acepta los iteradores de ambos vectores que apuntan a los rangos de inicio y finalización y un iterador de resultado vector (en la que almacena el resultado) que apunta a la posición inicial y devuelve un señalador iterador hasta el final de la gama construido.

Nota: Para utilizar vector – class & lt; vector & gt; de cabeza, y para usar función set_union () – include & lt; algoritmo de & gt; encabezado o simplemente podemos utilizar . & Lt; bits / STDC ++ h & gt; archivo de cabecera.

Sintaxis:

    std::set_union(
iterator start1, iterator end1,
iterator start1, iterator end1,
iterator start3);

Aquí, iterador start1, iterador END1 – son los iteradores que apuntan a la puesta en marcha y la posición del primer vector que terminan, iterador start2, iterador end2 – son los iteradores que apuntan a la de partida y la posición de segundo vector que finaliza, y iterador START3 – está un iterador que señala a la posición de partida del vector de resultado.

programa

C ++ STL para unir dos vectores

//C++ STL program to join two vectors
#include <bits/stdc++.h>
using namespace std;
int main()
{
//vectors
vector<int> v1 = { 10, 20, 30, 40, 50, 10, 20 };
vector<int> v2 = { 100, 10, 200, 50, 20, 30 };
//sorting the vectors
sort(v1.begin(), v1.end());
sort(v2.begin(), v2.end());
// Print the vectors
cout << "v1: ";
for (int x : v1)
cout << x << " ";
cout << endl;
cout << "v2: ";
for (int x : v2)
cout << x << " ";
cout << endl;
//declaring result vector to
//store the joined elements
vector<int> v3(v1.size() + v2.size());
//iterator to store return type
vector<int>::iterator it, end;
end = set_union(
v1.begin(), v1.end(),
v2.begin(), v2.end(),
v3.begin());
cout << "After joining v3: ";
for (it = v3.begin(); it != end; it++)
cout << *it << " ";
cout << endl;
return 0;
}

salida

v1: 10 10 20 20 30 40 50
v2: 10 20 30 50 100 200
After joining v3: 10 10 20 20 30 40 50 100 200


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *