How to check if a Vector contains all the items of Another Vector in C++ - Step by Step Examples
How to check if a Vector contains all the items of Another Vector in C++ ?
Answer
To check if a vector contains all the items of another vector in C++, you can use the std::all_of
algorithm combined with the std::find
algorithm.
✐ Examples
1 Check if All Elements of One Vector are in Another Vector
In this example,
- We include the necessary headers:
#include <vector>
,#include <algorithm>
, and#include <iostream>
for working with vectors, algorithms, and input/output streams. - We create a vector named
vec1
with a set of numerical values. - We create another vector named
vec2
with a different set of numerical values. - We use the
std::all_of
algorithm to check if all elements ofvec2
are present invec1
. Thestd::all_of
algorithm takes a range and a predicate. The range is defined byvec2.begin()
andvec2.end()
, and the predicate is a lambda function that checks if each element ofvec2
is found invec1
using thestd::find
algorithm. - The
std::find
algorithm searches for an element invec1
and returns an iterator to the found element orvec1.end()
if the element is not found. - The
std::all_of
algorithm returnstrue
if the predicate is true for all elements in the range; otherwise, it returnsfalse
. - Finally, we print the result to standard output using
std::cout
.
C++ Program
#include <vector>
#include <algorithm>
#include <iostream>
int main() {
std::vector<int> vec1 = {1, 2, 3, 4, 5};
std::vector<int> vec2 = {2, 3, 4};
bool result = std::all_of(vec2.begin(), vec2.end(), [&vec1](int item) {
return std::find(vec1.begin(), vec1.end(), item) != vec1.end();
});
std::cout << std::boolalpha << result << std::endl;
return 0;
}
Output
true
2 Check if All Elements of Another Vector are in the First Vector
In this example,
- We include the necessary headers:
#include <vector>
,#include <algorithm>
, and#include <iostream>
for working with vectors, algorithms, and input/output streams. - We create a vector named
main_vec
with a series of character strings. - We create another vector named
sub_vec
with a subset of character strings. - We use the
std::all_of
algorithm to check if all elements ofsub_vec
are present inmain_vec
. Thestd::all_of
algorithm takes a range and a predicate. The range is defined bysub_vec.begin()
andsub_vec.end()
, and the predicate is a lambda function that checks if each element ofsub_vec
is found inmain_vec
using thestd::find
algorithm. - The
std::find
algorithm searches for an element inmain_vec
and returns an iterator to the found element ormain_vec.end()
if the element is not found. - The
std::all_of
algorithm returnstrue
if the predicate is true for all elements in the range; otherwise, it returnsfalse
. - Finally, we print the result to standard output using
std::cout
.
C++ Program
#include <vector>
#include <algorithm>
#include <iostream>
int main() {
std::vector<std::string> main_vec = {"apple", "banana", "cherry", "date", "fig"};
std::vector<std::string> sub_vec = {"banana", "cherry", "date"};
bool result = std::all_of(sub_vec.begin(), sub_vec.end(), [&main_vec](const std::string& item) {
return std::find(main_vec.begin(), main_vec.end(), item) != main_vec.end();
});
std::cout << std::boolalpha << result << std::endl;
return 0;
}
Output
true
3 Check if All Elements of a Subset Vector are in the Main Vector
In this example,
- We include the necessary headers:
#include <vector>
,#include <algorithm>
, and#include <iostream>
for working with vectors, algorithms, and input/output streams. - We create a vector named
primary_vec
with a list of mixed data types including numbers and strings. - We create another vector named
secondary_vec
with some elements that are not present inprimary_vec
. - We use the
std::all_of
algorithm to check if all elements ofsecondary_vec
are present inprimary_vec
. Thestd::all_of
algorithm takes a range and a predicate. The range is defined bysecondary_vec.begin()
andsecondary_vec.end()
, and the predicate is a lambda function that checks if each element ofsecondary_vec
is found inprimary_vec
using thestd::find
algorithm. - The
std::find
algorithm searches for an element inprimary_vec
and returns an iterator to the found element orprimary_vec.end()
if the element is not found. - Since not all elements of
secondary_vec
are inprimary_vec
, thestd::all_of
algorithm returnsfalse
. - Finally, we print the result to standard output using
std::cout
.
C++ Program
#include <vector>
#include <algorithm>
#include <iostream>
int main() {
std::vector<std::variant<int, std::string>> primary_vec = {10, 20, 30, "apple", "banana"};
std::vector<std::variant<int, std::string>> secondary_vec = {20, "banana", "cherry"};
bool result = std::all_of(secondary_vec.begin(), secondary_vec.end(), [&primary_vec](const auto& item) {
return std::find(primary_vec.begin(), primary_vec.end(), item) != primary_vec.end();
});
std::cout << std::boolalpha << result << std::endl;
return 0;
}
Output
false
Summary
In this tutorial, we learned How to check if a Vector contains all the items of Another Vector in C++ language with well detailed examples.
More C++ Vectors Tutorials
- How to create an Empty Vector in C++ ?
- How to Initialize a Vector in C++ ?
- How to Get Length of a Vector in C++ ?
- How to create a Vector of Size N in C++ ?
- How to create a Vector of Numbers from 1 to N in C++ ?
- How to create a Vector of Integers in C++ ?
- How to create a Vector of Strings in C++ ?
- How to create a Vector of Empty Vectors in C++ ?
- How to Access Items in a Vector in C++ ?
- How to get Item in a Vector at a Specific Index in C++ ?
- How to get First Item in a Vector in C++ ?
- How to get Last Item in a Vector in C++ ?
- How to Iterate Over a Vector in C++ ?
- How to Iterate Over a Vector with Index in C++ ?
- How to Iterate Over a Vector in Reverse Order in C++ ?
- How to check if a Vector is Empty in C++ ?
- How to check if a Vector is Not Empty in C++ ?
- How to get Sub Vector in C++ ?
- How to get the Index of Specified Item in a Vector in C++ ?
- How to check if a Specific Item is present in the Vector in C++ ?
- How to check if a Vector contains all the items of Another Vector in C++ ?
- How to count the Number of Occurrences of Specific Item in the Vector in C++ ?
- How to find the Item with Maximum Number of Occurrences in a Vector in C++ ?
- How to find the Item with Minimum Number of Occurrences in a Vector in C++ ?
- How to Sort a Vector in C++ ?
- How to Sort a Vector in Ascending Order in C++ ?
- How to Sort a Vector in Descending Order in C++ ?
- How to create a Two Dimensional Vector in C++ ?
- How to Iterate over a Two Dimensional Vector in C++ ?
- How to create a Three Dimensional Vector in C++ ?
- How to Copy a Vector in C++ ?
- How to Split a Vector in C++ ?
- How to Join Vectors in C++ ?
- How to Append an Item to a Vector in C++ ?
- How to Insert an Item at Specific Index in a Vector in C++ ?
- How to Append a Vector to another Vector in C++ ?
- How to Concatenate Two Vectors in C++ ?
- How to check if Two Vectors are Equal in C++ ?
- How to check if Two Vectors have Same Items (Regardless of Order) in C++ ?
- How to Convert a Vector of Integers to a Vector of Strings in C++ ?
- How to Convert a Vector of Strings to a Vector of Integers in C++ ?
- How to Convert a Vector of Floats to a Vector of Strings in C++ ?
- How to Convert a Vector of Strings to a Vector of Floats in C++ ?
- How to Reverse a Vector in C++ ?
- How to Shuffle a Vector in C++ ?
- How to Slice a Vector in C++ ?
- How to get First N Items from a Vector in C++ ?
- How to get Last N Items from a Vector in C++ ?
- How to Rotate Items in a Vector in C++ ?
- How to Filter Items of a Vector based on a Condition in C++ ?
- How to Remove Duplicates in a Vector in C++ ?
- How to Remove Item at a Specific Index from a Vector in C++ ?
- How to Remove Specific Item from a Vector in C++ ?
- How to Remove Items from Vector based on a Condition in C++ ?
- How to Sort a String Vector in Dictionary Order in C++ ?
- How to Concatenate Strings in Vector in C++ ?
- How to create a Vector of Vectors in C++ ?