Relational Operators on STL Array in C++
The article illustrates the working of the different relational operator on the array STL. The equality comparison ( == ) is performed by comparing the elements sequentially using operator ( == ), stopping at the first mismatch.
The less-than comparison ( < ) or greater-than comparison ( > ) behaves as if using algorithm lexicographical_compare, which compares the elements sequentially using operator () in a reciprocal manner (i.e., checking both a<b and b<a) and stopping at the first occurrence.
The implementation of relational operators on the array help us to compare between the data stored in different arrays.
Equivalent operators : Here are some operators whose work is same.
(a != b) is equivalent to !(a == b) (a > b) equivalent to (b < a) (a <= b) equivalent to !(b < a)
Time Complexity : The time complexity of the above operation is O(n) where n is the size of the array.
Below is the code to illustrate the working of relational operators on array
Program 1: Relational Operator Comparison
// array comparisons using relational operators #include <bits/stdc++.h> using namespace std; int main() { // declaration of array array< int , 5> a = { 1, 2, 3, 4, 5 }; array< int , 5> b = { 1, 2, 3, 4, 5 }; array< int , 5> c = { 5, 4, 3, 2, 1 }; if (a >= b) { cout << "a is greater than equal to b\n" ; } else { cout << "a is neither greater than nor equal to b\n" ; } if (b < c) { cout << "b is less than c\n" ; } else { cout << "b is not lesser than c\n" ; } if (a >= c) { cout << "a is greater than equal to c\n" ; } else { cout << "a is neither greater than nor equal to c\n" ; } return 0; } |
Output :
a is greater than equal to b b is less than c a is neither greater than nor equal to c
Program 2: Relational Operator Equality
// CPP program to check for array qualities. #include <bits/stdc++.h> using namespace std; int main() { // declaration of array array< char , 5> a = { 'a' , 'b' , 'c' , 'd' , 'e' }; array< char , 5> b = { 'e' , 'd' , 'c' , 'b' , 'a' }; array< char , 5> c = { 'a' , 'b' , 'c' , 'd' , 'e' }; if (a == b) { cout << "a is equal to b\n" ; } else { cout << "a is not equal to b\n" ; } if (b != c) { cout << "b is not equal to c\n" ; } else { cout << "b is equal to c\n" ; } if (a == c) { cout << "a is equal to c\n" ; } else { cout << "a is not equal to c\n" ; } return 0; } |
Output :
a is not equal to b b is not equal to c a is equal to c