std::less_equal in C++ with Examples
Last Updated :
21 Jun, 2022
The std::less_equals is a function object class used for performing comparisons. It is defined as a function object class for less than equality comparison, which returns a boolean value depending upon the condition. It can be used with various standard algorithms like sort, lower_bound and containers like vector, set, etc. Header File:
#include <functional.h>
Template Class:
template <class T> struct less_equal {
// Declaration of the
// less equal operation
bool operator() (const T& x,
const T& y)
const
{
return x<=y;
}
// Type of first parameter
typedef T first_argument_type;
// Type of second parameter
typedef T second_argument_type;
// The result is returned
// as bool type
typedef bool result_type;
};
Syntax:
std::bind2nd(std::less_equal(), K)
Parameter: This function accepts the type of the arguments T, as the parameter, to be compared by the functional call. Return Type: It return a boolean value depending upon condition(let a & b are 2 element):
- True: If a is less than equals to b.
- False: If a is greater than b.
Below is the illustration of std::less_equal in C++: Program 1:
CPP14
#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;
void printArray( int arr[], int N)
{
for ( int i = 0; i < N; i++) {
cout << arr[i] << ' ' ;
}
}
int main()
{
int arr[] = { 1, 5, 8, 9, 6,
7, 3, 4, 2, 0 };
int N = sizeof (arr) / sizeof (arr[0]);
sort(arr, arr + N, less_equal< int >());
printArray(arr, N);
return 0;
}
|
Output:
0 1 2 3 4 5 6 7 8 9
Time Complexity: O(Nlog N)
Auxiliary Space: O(N)
Program 2:
CPP
#include <functional>
#include <iostream>
#include <iterator>
#include <set>
using namespace std;
int main()
{
set< int , less_equal< int > > S;
S.insert(75);
S.insert(30);
S.insert(60);
S.insert(20);
S.insert(50);
S.insert(30);
for ( auto & it : S) {
cout << it << ' ' ;
}
return 0;
}
|
Output:
20 30 30 50 60 75
Time Complexity: O(Nlog N) // log n is for insertion of one element
Auxiliary Space: O(N)
Reference: http://www.cplusplus.com/reference/functional/less_equal/
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...