首页 > 后端开发 > C++ > 如何使用 STL 的排序函数对自定义结构列表进行降序排序?

如何使用 STL 的排序函数对自定义结构列表进行降序排序?

Barbara Streisand
发布: 2024-11-09 04:44:02
原创
811 人浏览过

How to Sort a List of Custom Structs in Descending Order Using STL's Sort Function?

使用 STL 的排序函数对列表进行排序:克服编译错误

在尝试按降序对包含自定义结构体实例的列表进行排序时,遇到了编译错误围绕“结果”列表的“-”运算符不可用。此错误源于排序函数对随机访问迭代器的要求与 std::list::begin() 和 std::list::end() 返回的双向迭代器之间的不匹配。

解决此问题问题,建议使用 std::list::sort 成员函数,该函数专为与双向迭代器一起使用而定制。此函数采用与 std::sort 相同的参数,并在内部采用针对列表优化的排序算法。

以下示例说明了如何针对特定场景使用 std::list::sort 函数:

Result.poly.sort([](const term& t1, const term& t2) {
    return t2.pow < t1.pow;
});
登录后复制

通过此调整,编译错误将得到解决,并且您的代码将根据其组成部分的 'pow' 成员按降序对 'poly' 列表进行排序“术语”元素。

以上是如何使用 STL 的排序函数对自定义结构列表进行降序排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板