Related Articles

# Elements present in first array and not in second using STL in C++

• Last Updated : 26 Mar, 2019

Given two arrays, the task is that we find numbers which are present in first array, but not present in the second array, using STL in C++

Examples:

```Input: a[] = {1, 2, 3, 4, 5, 10}, b[] = {2, 3, 1, 0, 5}
Output: 4 10

Input:a[] = {4, 3, 5, 9, 11}, b[] = {4, 9, 3, 11, 10};
Output: 5
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: In STL, the set_difference() method can be used to find the ‘A-B’ where A is the first array and B is the second array.

Syntax:

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

Below is the implementation of the above approach:

 `// C++ simple program to``// find elements which are``// not present in second array`` ` `#include ``using` `namespace` `std;`` ` `// Function for finding``// elements which are there``// in a[] but not in b[].``void` `findMissing(``int` `a[], ``int` `b[],``                 ``int` `n, ``int` `m)``{`` ` `    ``// Declare a vector to store the result``    ``vector<``int``> v(n + m);`` ` `    ``// And an iterator to traverse the vector``    ``vector<``int``>::iterator it;`` ` `    ``// Sort the given arrays``    ``sort(a, a + n);``    ``sort(b, b + m);`` ` `    ``// Find the elements in a[]``    ``// which are not in b[]``    ``it = set_difference(a, a + n, b, b + m, v.begin());`` ` `    ``// Now resize the vector to the existing count``    ``v.resize(it - v.begin());`` ` `    ``// Print the results``    ``cout << ``"The elements in a[]"``         ``<< ``" which are not in b[]:\n"``;``    ``for` `(it = v.begin(); it != v.end(); ++it)``        ``cout << *it << ``"  "``;``    ``cout << endl;``}`` ` `// Driver code``int` `main()``{``    ``int` `a[] = { 1, 2, 6, 3, 4, 5 };``    ``int` `b[] = { 2, 4, 3, 1, 0 };``    ``int` `n = ``sizeof``(a) / ``sizeof``(a);``    ``int` `m = ``sizeof``(b) / ``sizeof``(b);``    ``findMissing(a, b, n, m);``    ``return` `0;``}`
Output:
```The elements in a[] which are not in b[]:
5  6
```
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up