# Merging Two Vectors in C++

** Vectors** are a dynamic array in C++ that can store multiple values of the same data type. The size of the vector can change dynamically during the execution of the program. In this blog, we will learn how to merge two vectors in C++.

The task of merging two vectors is quite simple. The basic idea is to take two vectors and join them into a single vector. It can be achieved by using the **insert() method** of the vector. The **insert() method** allows you to insert elements into a vector at any given position.

In C++, we can merge two vectors by iterating through one of the vectors and inserting each element of that vector into the second vector. We can use the following code to implement this logic:

```
#include <iostream>
#include <vector>
using namespace std;
vector<int>mergeVectors(vector<int>& vec1, vector<int>& vec2)
{
vector<int> vec3;
vec3.reserve(vec1.size() + vec2.size());
vec3.insert(vec3.end(), vec1.begin(), vec1.end());
vec3.insert(vec3.end(), vec2.begin(), vec2.end());
return vec3;
}
int main()
{
vector<int> vec1 = {1, 2, 3};
vector<int> vec2 = {4, 5, 6};
vector<int> vec3 = mergeVectors(vec1, vec2);
for (int i : vec3)
cout<<i<< " ";
return 0;
}
```

The output of the above code will be:

1 2 3 4 5 6

Let's analyze the code step by step:

- We have declared a function called
**mergeVectors**that takes two vectors as parameters. - We have created a new vector called
**vec3**that will store the merged elements of**vec1**and**vec2**. - The
**reserve**method is used to reserve space for**vec3**so that it can store the elements of both vectors**vec1**and**vec2**. - The
**insert**method is used to insert the elements of**vec1**and**vec2**into**vec3**. The**insert**method takes three arguments: the first argument is the position in**vec3**where we want to insert the elements, the second argument is the start position in the first vector**vec1**, and the third argument is the end position in**vec1**. - The function returns the merged vector
**vec3**. - In the
**main**function, we have created two vectors**vec1**and**vec2**and initialized them with some values. - The
**mergeVectors**function is called and the result is stored in**vec3**. - Finally, the elements of
**vec3**are printed using a**for**loop.

The above code demonstrates how to merge two vectors in C++. It is a simple and efficient way to combine two vectors into a single vector. This method can be used for any data type supported by the vector container.

**Conclusion**

In conclusion, merging two vectors in C++ is a simple task that can be achieved by using the **insert **method of the vector container. The **insert** method allows us to insert elements into a vector at any given position. This method is used to insert the elements of one vector into another vector, resulting in a merged vector.

In this blog, we have discussed how to merge two vectors in C++ with an example code and output. The code uses the **insert** method of the vector container to merge two vectors into a single vector. It is a simple and efficient way to combine two vectors into a single vector, and it can be used for any data type supported by the vector container.

It is important to note that the order of the elements in the merged vector will be the same as the order in which they were inserted. The first vector's elements will be inserted first followed by the second vector's elements. In case you need to preserve the order of the elements in the original vectors, you should sort the vectors before merging them. Additionally, if the vectors contain duplicate elements, the merged vector will also contain duplicate elements. It is important to handle duplicates in the merged vector, if required, by using techniques such as set operations or using a custom function.

In summary, merging two vectors in C++ is a simple task that can be achieved using the **insert** method of the vector container. The resulting merged vector is a new vector and the original vectors remain unchanged. With this knowledge, you can now merge two vectors in C++ with ease.