Compartilhar via


greater Struct

Um predicado binário que testa se um valor de um tipo especificado é maior do que outro valor do tipo.

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

Parâmetros

  • _Left
    O operando esquerdo do tipo Tipo em desigualdade a ser testada.

  • _Right
    O operando à direita do tipo Tipo em desigualdade a ser testada.

Valor de retorno

true se _Left > _Right; false se <= _Rightde _Left .

Comentários

O predicado binário greater<Tipo> fornece ordenação fraco restrito de um conjunto de valores de elemento de tipo Tipo em classes de equivalência se e somente se este Tipo satisfaz os requisitos matemáticos padrão para ser assim ordenada.As especializações para qualquer tipo ponteiro produzem ordenação total de elementos que todos os elementos distintos de valores são ordenados em relação a se.

Exemplo

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

Saída

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

Cabeçalho: <functional>

namespace: STD

Consulte também

Referência

Standard Template Library