greater Struct
Un attribut binaire qui teste si une valeur d'un type spécifié est supérieure à une autre valeur de ce type.
template<class Type>
struct greater : public binary_function <Type, Type, bool>
{
bool operator()(
const Type& _Left,
const Type& _Right
) const;
};
Paramètres
_Left
l'opérande gauche du type Type dans l'inégalité à tester._Right
L'opérande de droite du type Type dans l'inégalité à tester.
Valeur de retour
true si _Left > _Right; false si <= _Rightd' _Left .
Notes
L'attribut binaire greater<Type> fournit le classement faible strict d'un ensemble de valeurs d'éléments de type Type dans les classes d'équivalence si et seulement si ce Type satisfait aux spécifications mathématiques standard pour être donc ordonné.Les spécialisations pour tout type pointeur référence le classement total des éléments dans la mesure où tous les éléments des valeurs distinctes sont classés par rapport à l'autre.
Exemple
// 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;
}
Sortie
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 )
Configuration requise
en-tête : <functional>
l'espace de noms : DST