首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为C++排序中的compare函数指定参数

为C++排序中的compare函数指定参数
EN

Stack Overflow用户
提问于 2019-11-02 08:41:15
回答 1查看 748关注 0票数 0

我的问题是C++排序函数中的compare函数是如何接受参数的。如果我想对一个数组进行排序,同时又想保留元素的索引,我会考虑根据实际数组中的元素对索引数组进行排序。问题是我不能找到如何将参数传递给比较函数。假设数组是3 5 4 2索引是0 1 2 3.我希望索引数组输出3 0 2 1,即2 3 4 5。我如何使用排序函数来做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2019-11-02 09:13:37

一种方法是:

代码语言:javascript
复制
vector<int> data{  3, 5, 4, 2 },
            index{ 0, 1, 2, 3 };
sort(index.begin(), index.end(), [&data](int i, int j) { return data[i] < data[j]; });
for (int i : index)
{
    cout << i << ' ';
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58667345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档