假设我必须按积分对足球联赛表进行排序,如果两支球队的积分相等,则按入球差对它们进行排序。
将 std::sort
与仿函数结合使用,我成功地按点对表格进行了排序。但是我现在如何仅对具有相似点的团队进行排序?
换句话说,我需要以某种方式使用排序并使其仅对具有相似分数的团队进行排序。有什么方便的方法吗?
最佳答案
在你的比较函数中,首先返回true
如果lhs.points < rhs.points
.然后返回false
如果rhs.points < lhs.points
.如果你已经到了这一步,你就知道点是相等的(如果不相等,函数已经返回),所以你可以只返回 lhs.goals < rhs.goals
。 .
关于c++ - 仅在条件适用时排序 - std::sort,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21072645/