The equal() function in C++ boost library is found under the header ‘boost/algorithm/cxx11/equal.hpp’ tests to see if two sequences contain equal values. It returns a boolean value which determines if both the sequences are same or not.
Syntax:
bool equal ( InputIterator1 first1, InputIterator1 second1, InputIterator2 first2, InputIterator2 second2 ) or bool equal ( InputIterator1 first1, InputIterator1 second1, InputIterator2 first2, InputIterator2 second2, BinaryPredicate pred )
Parameters: The function accepts parameters as described below:
- first1: It specifies the input iterators to the initial positions in the first sequence.
- second1: It specifies the input iterators to the final positions in the first sequence.
- first2: It specifies the input iterators to the initial positions in the second sequence.
- second2: It specifies the input iterators to the final positions in the second sequence.
- p: It specifies the comparison predicate if specified.
Return Value: The function returns true if both the sequence are same, else it returns false.
Note: The above function runs for C++14 and above.
Program-1:
// C++ program to implement the // above mentioned function #include <bits/stdc++.h> #include <boost/algorithm/cxx14/equal.hpp> using namespace std;
// Drivers code int main()
{ // Declares the sequences
int a[] = { 1, 2, 5, 6, 8 };
int b[] = { 1, 2, 5, 6, 8 };
// Run the function
bool ans
= boost::algorithm::equal(a, a + 5, b, b + 5);
// Condition to check
if (ans == 1)
cout << "Sequence1 and Sequence2 are equal" ;
else
cout << "Sequence1 and Sequence2 are not equal" ;
return 0;
} |
Output:
Sequence1 and Sequence2 are equal
Program-2:
// C++ program to implement the // above mentioned function #include <bits/stdc++.h> #include <boost/algorithm/cxx14/equal.hpp> using namespace std;
// Drivers code int main()
{ // Declares the sequences
int a[] = { 1, 2, 5, 6, 8 };
int b[] = { 1, 2, 5 };
// Run the function
bool ans
= boost::algorithm::equal(a, a + 5, b, b + 5);
// Condition to check
if (ans == 1)
cout << "Sequence1 and Sequence2 are equal" ;
else
cout << "Sequence1 and Sequence2 are not equal" ;
return 0;
} |
Output:
Sequence1 and Sequence2 are not equal