Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,885 questions

51,811 answers

573 users

How to merge two vectors in C++

2 Answers

0 votes
#include <iostream>
#include <vector>
 
void print_vector(const std::vector<int>& vec) {
    for (size_t i = 0; i < vec.size(); i++) {
        std::cout << vec[i] << " ";
    }
}
  
std::vector<int> merge_two_vectors_into_one(const std::vector<int>& num1, const std::vector<int>& num2) {
    std::vector<int> numbers(num1.size() + num2.size());
    size_t i = 0, j = 0, k = 0;
  
    while (i < num1.size() && j < num2.size()) {
        if (num1[i] <= num2[j]) {
            numbers[k] = num1[i];
            i++;
        } else {
            numbers[k] = num2[j];
            j++;
        }
        k++;
    }
  
    while (i < num1.size()) {
        numbers[k] = num1[i];
        i++;
        k++;
    }
  
    while (j < num2.size()) {
        numbers[k] = num2[j];
        j++;
        k++;
    }
    
    return numbers;
}
  
int main() {
    std::vector<int> num1 = { 7, 3, 2, 9, 1 }; 
    std::vector<int> num2 = { 5, 8, 6, 4, 0, 11, 10, 12 }; 
    
    std::vector<int> numbers = merge_two_vectors_into_one(num1, num2);
  
    print_vector(numbers);
}
  
  
/*
run:
   
5 7 3 2 8 6 4 0 9 1 11 10 12 
   
*/

 



answered Oct 9, 2024 by avibootz
edited Oct 9, 2024 by avibootz
0 votes
#include <algorithm>
#include <iostream>
#include <vector>

void print_vector(const std::vector<int>& vec) {
    for (size_t i = 0; i < vec.size(); i++) {
        std::cout << vec[i] << " ";
    }
}

int main() {
    std::vector<int> num1 = { 7, 3, 2, 9, 1 }; 
    std::vector<int> num2 = { 5, 8, 6, 4, 0, 11, 10, 12 }; 
    std::vector<int> numbers(num1.size() + num2.size());

    merge(num1.begin(), num1.end(), num2.begin(),
          num2.end(), numbers.begin());

    print_vector(numbers);
}


/*
run:
 
5 7 3 2 8 6 4 0 9 1 11 10 12 
 
*/

 



answered Oct 9, 2024 by avibootz

Related questions

2 answers 192 views
1 answer 201 views
1 answer 163 views
2 answers 217 views
...