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