std::less_equal en C++ con ejemplos

El std::less_equals es una clase de objeto de función utilizada para realizar comparaciones. Se define como una clase de objeto de función para una comparación menor que la igualdad, que devuelve un valor booleano según la condición. Se puede usar con varios algoritmos estándar como sort, lower_bound y contenedores como vector , set , etc. Archivo de encabezado:

#include <functional.h>

Clase de plantilla:

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;
};

Sintaxis:

std::bind2nd(std::less_equal(), K)

Parámetro: Esta función acepta el tipo de los argumentos T , como parámetro, a comparar por la llamada funcional. Tipo de devolución: devuelve un valor booleano según la condición (deje que a y b sean 2 elementos):

  • Verdadero: Si a es menor que es igual a b.
  • Falso: Si a es mayor que b.

A continuación se muestra la ilustración de std::less_equal en C++: Programa 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;
}
Producción:

0 1 2 3 4 5 6 7 8 9

Complejidad temporal: O(Nlog N)
Espacio auxiliar: O(N)

Programa 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;
}
Producción:

20 30 30 50 60 75

Complejidad de tiempo: O(Nlog N) // log n es para la inserción de un elemento
Espacio auxiliar: O(N)

Referencia: http://www.cplusplus.com/reference/funcional/less_equal/

Publicación traducida automáticamente

Artículo escrito por prajakta_mane y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *