Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

How to find common elements between two Vector using STL in C++?

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given two vectors, find common elements between these two vectors using STL in C++.

Example:

Input:
vec1 = {1, 45, 54, 71, 76, 12},
vec2 = {1, 7, 5, 4, 6, 12}
Output: {1, 12}

Input:
vec1 = {1, 7, 5, 4, 6, 12},
vec2 = {10, 12, 11}
Output: {1, 4, 12}

Approach: Common elements can be found with the help of set_intersection() function provided in STL.

Syntax:

set_intersection (InputIterator1 first1, InputIterator1 last1,
           InputIterator2 first2, InputIterator2 last2,
           OutputIterator result);




// C++ program to find common elements
// between two Vectors using STL
  
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // Get the vector
    vector<int> vector1 = { 1, 45, 54, 71, 76, 12 };
    vector<int> vector2 = { 1, 7, 5, 4, 6, 12 };
  
    // Sort the vector
    sort(vector1.begin(), vector1.end());
    sort(vector2.begin(), vector2.end());
  
    // Print the vector
    cout << "First Vector: ";
    for (int i = 0; i < vector1.size(); i++)
        cout << vector1[i] << " ";
    cout << endl;
  
    cout << "Second Vector: ";
    for (int i = 0; i < vector2.size(); i++)
        cout << vector2[i] << " ";
    cout << endl;
  
    // Initialise a vector
    // to store the common values
    // and an iterator
    // to traverse this vector
    vector<int> v(vector1.size() + vector2.size());
    vector<int>::iterator it, st;
  
    it = set_intersection(vector1.begin(),
                          vector1.end(),
                          vector2.begin(),
                          vector2.end(),
                          v.begin());
  
    cout << "\nCommon elements:\n";
    for (st = v.begin(); st != it; ++st)
        cout << *st << ", ";
    cout << '\n';
  
    return 0;
}

Output:

First Vector: 1 12 45 54 71 76 
Second Vector: 1 4 5 6 7 12 

Common elements:
1, 12,

My Personal Notes arrow_drop_up
Last Updated : 19 Mar, 2019
Like Article
Save Article
Similar Reads