equal_to Predicate in C++

bookmark

#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <iomanip>
using namespace std;
 
void print(int a[], int N)
{
    for(int i = 0; i < N; i++)
    {
        cout << setw(2) << a[i] << " ";
    }
    cout << endl;
}
 
int main()
{
    int arr1[] = {0, 1, 2, 4, 8, 16, 32};
    int arr2[] = {0, 1, 2, 4, 8, 16, 32, 64};
    bool result;
 
    cout << "arr1 : ";
    print(arr1, 7);
    cout << "arr2 : ";
    print(arr2, 8);
    // Comparing a and b lexicographically
    cout << "Comparing using negater with equal_to predicate"
         << endl;
    result = lexicographical_compare(arr1, arr1 + 7, arr2 , arr2 + 8, not2(equal_to<int>()));
    if(result == true)
    {
        cout << "arr1 is lexicographically is not equal to arr2."
             << endl;
    }
    else
    {
        cout << "a is lexicographically equal to b."
             << endl;
    }
}

 

Output:
arr1 :  0  1  2  4  8 16 32 
arr2 :  0  1  2  4  8 16 32 64 
Comparing using negater with equal_to predicate
arr1 is lexicographically is not equal to arr2.