less_equal Struct
Un predicato binario che verifica se un valore di un tipo specificato è minore o uguale a un altro valore di quel tipo.
template<class Type>
struct less_equal : public binary_function <Type, Type, bool>
{
bool operator()(
const Type& _Left,
const Type& _Right
) const;
};
Parametri
_Left
L'operando sinistro di tipo Tipo la disuguaglianza da testare._Right
L'operando di tipo Tipo la disuguaglianza da testare.
Valore restituito
true se <= _Rightdi _Left ; false se _Left > _Right.
Note
Il predicato binario less_equal<Tipo> fornisce un ordine debole rigido di un set di valori degli elementi di tipo Tipo nelle classi di equivalenza se e solo se questo Tipo soddisfa le esigenze matematiche standard per pertanto essere ordinatoe.Le specializzazioni per qualsiasi tipo di puntatore restituiscono un ordine totale di elementi in quanto tutti gli elementi dei valori distinti vengono ordinati in base all'altro.
Esempio
// functional_less_equal.cpp
// compile with: /EHsc
#define _CRT_RAND_S
#include <stdlib.h>
#include <vector>
#include <algorithm>
#include <functional>
#include <cstdlib>
#include <iostream>
int main( )
{
using namespace std;
vector <int> v1;
vector <int>::iterator Iter1;
vector <int>::reverse_iterator rIter1;
unsigned int randomNumber;
int i;
for ( i = 0 ; i < 5 ; i++ )
{
if ( rand_s( &randomNumber ) == 0 )
{
// Convert the random number to be between 1 - 50000
// This is done for readability purposes
randomNumber = ( unsigned int) ((double)randomNumber /
(double) UINT_MAX * 50000) + 1;
v1.push_back( randomNumber );
}
}
for ( i = 0 ; i < 3 ; i++ )
{
v1.push_back( 2836 );
}
cout << "Original vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
// To sort in ascending order,
// use the binary predicate less_equal<int>( )
sort( v1.begin( ), v1.end( ), less_equal<int>( ) );
cout << "Sorted vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
}
Esempio di output
Original vector v1 = ( 31247 37154 48755 15251 6205 2836 2836 2836 )
Sorted vector v1 = ( 2836 2836 2836 6205 15251 31247 37154 48755 )
Requisiti
intestazione: <functional>
Spazio dei nomi: deviazione standard