std::greater_equal en C++ con ejemplos

El std::greater_equal es un miembro de la clase funcional (<funcional.h>) . Se utiliza para generar resultados de comparaciones similares al operador (≥) . La ventaja de esta función sobre el operador (≥) es que utiliza el orden total estricto para generar el resultado, a diferencia del operador (≥) que utiliza el orden parcial. Devuelve un valor booleano dependiendo de la condición. Se puede utilizar para comparar números enteros, caracteres o strings, etc.

Archivo de cabecera:

#include <functional.h>

Clase de plantilla:

template <class T> struct greater_equal {

  // Declaration of the
  // greater 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;
};

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 mayor que igual a b.
  • Falso: si a es menor que b.

A continuación se muestra la ilustración de std::greater_equal en C++:

Programa 1:

// C++ program to illustrate greater_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 decreasing order
    sort(arr, arr + N, greater_equal<int>());
  
    // Print sorted array
    printArray(arr, N);
    return 0;
}
Producción:

9 8 7 6 5 4 3 2 1 0

Programa 2:

// C++ program to illustrate greater_equal
  
#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;
  
// Driver Code
int main()
{
  
    int arr[] = { 30, 40, -50, 60, -70,
                  10, 20, -80, 90, 100 };
    int N = sizeof(arr) / sizeof(arr[0]);
  
    // Print the number of elements less
    // than 0
    cout << count_if(
        arr, arr + N,
        bind2nd(greater_equal<int>(),
                0));
    return 0;
}
Producción:

7

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

Publicación traducida automáticamente

Artículo escrito por anushka_deshpande 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 *