Compartir a través de


greater Struct

un predicado binario que prueba si un valor de un tipo especificado es mayor que otro valor de ese tipo.

template<class Type>
   struct greater : public binary_function <Type, Type, bool> 
   {
      bool operator()(
         const Type& _Left, 
         const Type& _Right
      ) const;
   };

Parámetros

  • _Left
    El operando izquierdo de tipo escrito en la desigualdad que se va a probar.

  • _Right
    El operando derecho de tipo escrito en la desigualdad que se va a probar.

Valor devuelto

TRUE si _Left > _Right; Falso si _Left <= _Right.

Comentarios

El predicado binario greater<tipo> proporciona ordenación parcial estricta de un conjunto de valores de elementos de tipo escrito en clases de equivalencia si y solo si este tipo cumple los requisitos matemáticos estándar para se puede ordenada.Especializaciones para cualquier tipo de puntero de clasificación total de elementos en que todos los elementos de valores distintos están ordenados en sí.

Ejemplo

// functional_greater.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <functional>
#include <cstdlib>
#include <iostream>

int main( )
{
   using namespace std;
   vector <int> v1;
   vector <int>::iterator Iter1;

   int i;
   for ( i = 0 ; i < 8 ; i++ )
   {
      v1.push_back( rand( ) );
   }

   cout << "Original vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;

   // To sort in ascending order,
   // use default binary predicate less<int>( )
   sort( v1.begin( ), v1.end( ) );
   cout << "Sorted vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;

   // To sort in descending order, 
   // specify binary predicate greater<int>( )
   sort( v1.begin( ), v1.end( ), greater<int>( ) );
   cout << "Resorted vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;
}

Output

Original vector v1 = ( 41 18467 6334 26500 19169 15724 11478 29358 )
Sorted vector v1 = ( 41 6334 11478 15724 18467 19169 26500 29358 )
Resorted vector v1 = ( 29358 26500 19169 18467 15724 11478 6334 41 )

Requisitos

encabezado: <funcional>

espacio de nombres: std

Vea también

Referencia

Biblioteca de plantillas estándar