什么是谓词:
谓词概念:返回值是bool类型的仿函数;
谓词根据形参分两种一元谓词和二元谓词;
template<class T>
class Myoperator
{
public:
bool operator()(const T& a){} //一元谓词只持有a一个形参
bool operator()(const T& a,const T& b){} //二元谓词 持有a和b两个形参
}
sort默认算法是从小到大排序
_STD sort(_First, _Last, less<>());
修改sort排序规则(采用谓词方法修改)
/*
利用二元谓词修改sort排序规则
*/
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
template <class T>
class Mycompare
{
public:
bool operator()(const T& val1, const T& val2)
{
return val1 > val2;
}
};
void MySort()
{
std::vector<int>v;
for (int i = 0; i < 10; i++)
{
v.push_back(rand() % 10 + 21);
}
//未修改的sort排序结果:
sort(v.begin(), v.end());
//_STD sort(_First, _Last, less<>());
std::vector<