C++中sort函数的比较函数cmp如何定义

   2024-10-02 2400
核心提示:在C++中,sort函数的比较函数cmp可以通过定义一个函数对象或者Lambda表达式来实现。比较函数cmp需要返回一个bool值,用于指定排

在C++中,sort函数的比较函数cmp可以通过定义一个函数对象或者Lambda表达式来实现。比较函数cmp需要返回一个bool值,用于指定排序的顺序。

下面是一个使用函数对象定义比较函数cmp的示例:

struct cmp {    bool operator()(int a, int b) {        return a < b;    }};int main() {    vector<int> vec = {3, 1, 4, 1, 5, 9};    sort(vec.begin(), vec.end(), cmp());    for (int num : vec) {        cout << num << " ";    }    return 0;}

下面是一个使用Lambda表达式定义比较函数cmp的示例:

int main() {    vector<int> vec = {3, 1, 4, 1, 5, 9};    sort(vec.begin(), vec.end(), [](int a, int b) {        return a < b;    });    for (int num : vec) {        cout << num << " ";    }    return 0;}

在上面的示例中,比较函数cmp都是按照升序排序的规则来定义的。根据实际需要,可以修改比较函数cmp以实现不同的排序规则。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号