Quick actions

cmd+k|ctrl+k

Navigation

Languages

Merge Sorted Arrays/Vectors

Snippet info

Language

Cpp

Visibility

public

Author

dwynn

Created

2020-05-04T21:44:21Z

Updated

2020-05-06T22:38:51Z

#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
}
INFO