[英]Custom compare function for std::sort() C++
很多时候我必须使用自定义比较 function进行排序。 我可以实现它,但有时我会犯错误。 如果它返回true
,我通常会感到困惑,那么它是否会被交换? 有人可以解释如果它返回true
会发生什么,如果它返回false
会怎样?
如果它返回
true
,我通常会感到困惑,那么它是否会被交换?
这无关紧要,你不需要(不需要)知道。
唯一相关的是,当且仅当第一个参数严格小于第二个参数时,比较器才应该返回true
(即它应该在排序之后,在排序之后)。 换句话说,它应该返回与<
逻辑上相同的结果。
自定义比较 function 不会交换东西,也不会在应该进行交换时发出信号。 这是算法的工作,你不必担心。
自定义比较 function比较事物。 这是您告诉算法哪些元素被视为“小于”其他元素的方式。 这就是它需要你告诉它的所有内容,以便它关闭 go 并完成其工作排序。
阅读文档/您的书以了解您使用的功能。 std::sort
的要求可以免费学习:
comp
:比较 function object (即满足Compare
要求的 object )如果第二个参数小于(即在第一个之前排序)则返回true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.