#include <iostream>
#include <vector>
#include <array>
using namespace std;
vector<int> merge(vector<int>, vector<int>); //merging function
int main() {
vector <int> One = {0,3,4,31};
vector <int> Two = {4,6,30};
vector<int> Three = merge(One, Two); //save it into a vector
for(int i = 0; i < Three.size(); i ++)
cout << Three[i] << endl;
return 0;
}
vector<int> merge(vector<int> X, vector<int> Y)
{
vector <int> Vect; //create vector to merge
int I = 0;
int J = 0;
if(!X.size() && !Y.size()){return Vect;}
if(!X.size()){return Y;}
if(!Y.size()){return X;}
while(I<X.size() && J < Y.size())
{
if(X[I] < Y[J]) //if X element is smaller
{
Vect.push_back(X[I]);
I++;
}
else //Y element is smaller
{
Vect.push_back(Y[J]);
J++;
}
}
while(I < X.size()) //Once the first while loop is finished
{
Vect.push_back(X[I]);
I++;
}
while(J < Y.size()) //X is finished, but Y isn't
{
Vect.push_back(Y[J]);
J++;
}
return Vect; //return merged vectors
}