C++算法中比较器的构造——以sort为例
比较器的构造——sort为例
sort(RandomIt first, RandomIt last, Compare comp)
这里的比较器构造有3种方法
- 函数对象
- 函数重载
- 匿名函数
class Solution {
public:
//函数对象
struct Comparator
{
bool operator()(int lhs, int rhs) const
{
return abs(lhs) > abs(rhs);
}
};
//函数重载
static bool cmp(int lhs, int rhs)
{
return abs(lhs) > abs(rhs);
}
public:
int function(vector<int>& nums, int k) {
sort(nums.begin(), nums.end(), cmp);
sort(nums.begin(), nums.end(), Comparator());
//匿名函数
sort(nums.begin(), nums.end(), [](int lhs, int rhs){
return abs(lhs) > abs(rhs);
});
}
};

浙公网安备 33010602011771号