Here is the source code of the C++ program which demonstrates the lexicographical_compare() algorithm. The C++ program is successfully compiled and run on a Linux system. The program output is also shown below.
/*
* C++ Program to demonstrate the lexicographical_compare() algorithm
*/
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
void print(const std::vector <int>& v)
{
std::vector <int>::const_iterator i;
for(i = v.begin(); i != v.end(); i++)
{
std::cout << *i << " ";
}
std::cout << std::endl;
}
int main()
{
std::vector <int> a(10), b(10);
bool result;
for (int i = 0; i < 10 ;i++)
{
a[i] = i + 1;
b[i] = i + 1;
}
std::cout << "a : ";
print(a);
std::cout << "b : ";
print(b);
// Comparing a and b lexicographically
result = std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end(), std::equal_to <int>());
if(result == true)
{
std::cout << "a is lexicographically equal to b."
<< std::endl;
}
else
{
std::cout << "a is lexicographically not equal to b."
<< std::endl;
}
}
$ a.out a : 1 2 3 4 5 6 7 8 9 10 b : 1 2 3 4 5 6 7 8 9 10 a is lexicographically equal to b.