C++算法中比较器的构造——以sort为例

比较器的构造——sort为例

sort(RandomIt first, RandomIt last, Compare comp)

这里的比较器构造有3种方法

  1. 函数对象
  2. 函数重载
  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);
        });
    }
};
posted @ 2022-07-26 13:42  findwsm  阅读(215)  评论(0)    收藏  举报