当前位置:  开发笔记 > 编程语言 > 正文

按数组元素排序数组的向量

如何解决《按数组元素排序数组的向量》经验,为你挑选了1个好方法。

我在编写解决背包问题的算法时遇到了问题.我有一个3元素数组(C++ 11)的向量,我想通过let的说明这些数组的第一个元素来对向量进行排序.

我已尝试使用预定义的比较函数进行std :: sort,但它甚至都没有编译.

我想我的比较功能不能像我期望的那样工作:

bool compareByValue(const data &a, const data &b)
{
    return a[0] < b[0];
}

int main()
{
    vector > myVector;
    ...
    sort ( myVector.begin(), myVector.end(), compareByValue );
}

这不是我第一次遇到类似的问题,我试图在网上找到解决方案,但没有任何令人满意的结果.



1> Mikhail..:

另请注意,std::array有重载的比较运算符,它按字典顺序比较数组.这意味着,如果要基于第一个元素进行排序,则甚至不需要谓词.只是std::sort你的矢量.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有