C++ examples for STL Algorithm:lexicographical_compare
Comparing sequences of values for equality using algorithms lexicographical_compare.
#include <iostream> #include <algorithm> // algorithm definitions #include <vector> // vector class-template definition #include <iterator> // ostream_iterator using namespace std; int main() //from www. ja va 2s. c om { const int SIZE = 10; int a1[ SIZE ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int a2[ SIZE ] = { 1, 2, 3, 4, 1000, 6, 7, 8, 9, 10 }; vector< int > v1( a1, a1 + SIZE ); // copy of a1 vector< int > v2( a1, a1 + SIZE ); // copy of a1 vector< int > v3( a2, a2 + SIZE ); // copy of a2 ostream_iterator< int > output( cout, " " ); cout << "Vector v1 contains: "; copy( v1.begin(), v1.end(), output ); cout << "\nVector v2 contains: "; copy( v2.begin(), v2.end(), output ); cout << "\nVector v3 contains: "; copy( v3.begin(), v3.end(), output ); // location represents pair of vector iterators pair< vector< int >::iterator, vector< int >::iterator > location; char c1[ SIZE ] = "HELLO" ; char c2[ SIZE ] = "BYE BYE"; // perform lexicographical comparison of c1 and c2 int result = lexicographical_compare( c1, c1 + SIZE, c2, c2 + SIZE ); cout << c1 << ( result ? " is less than " : " is greater than or equal to " ) << c2 << endl; }