【发布时间】:2020-10-02 05:57:32
【问题描述】:
很多时候我必须使用自定义比较功能进行排序。
我可以实现它,但有时我会犯错误。如果它返回true,我通常会感到困惑,那么它是否会被交换?有人可以解释如果它返回true 会发生什么,如果它返回false 会怎样?
【问题讨论】:
-
你读过
std::sort的文档吗? "比较函数对象(即满足比较要求的对象),如果第一个参数小于(即排在前面)第二个参数,则返回true。" -
一个比较器,返回
true或false总是不能与std::sort一起使用(没有严格的弱排序)。我想你的意思是a < b通常意味着比较器返回true,与之相反的是b <= a,它作为比较器也无效。请澄清您的问题 -
请不要破坏您的帖子。通过在 Stack Exchange 网络上发帖,您已在 CC BY-SA 4.0 license 下授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本,因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work?
-
@largest_prime_is_463035818 这个问题非常简单明了,Algirdas 搞定了。不要把它复杂化,它会带来混乱。
标签: c++ sorting std compare-and-swap