Open In App

std::less_equal in C++ with Examples

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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




// C++ program to illustrate less_equal
#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;
 
// Function to print the array arr[]
void printArray(int arr[], int N)
{
 
    for (int i = 0; i < N; i++) {
        cout << arr[i] << ' ';
    }
}
 
// Driver Code
int main()
{
    int arr[] = { 1, 5, 8, 9, 6,
                7, 3, 4, 2, 0 };
 
    int N = sizeof(arr) / sizeof(arr[0]);
 
    // Sort the array in increasing order
    sort(arr, arr + N, less_equal<int>());
 
    // Print sorted array
    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




// C++ program to illustrate less_equal
#include <functional>
#include <iostream>
#include <iterator>
#include <set>
using namespace std;
 
// Driver Code
int main()
{
    // Initialise set with less_equal to
    // store the elements in increasing
    // order
    set<int, less_equal<int> > S;
 
    // Insert elements in S
    S.insert(75);
    S.insert(30);
    S.insert(60);
    S.insert(20);
    S.insert(50);
    S.insert(30);
 
    // Print the elements stored in set S
    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/



Last Updated : 21 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads