如何在c ++中找到下一个(通过单个参数)元素? (STL)

时间:2013-10-08 09:52:32

标签: c++ stl

我有人类的THuman班级

每个人在两轮中的一轮中得分。 (得分1和得分2)

每个人都有自己独特的身份。分数1和分数2也是唯一的。

此外,一个人有一个score_t = score1 + score2,其中两个可以相同。

我需要向THuman实现6个变量,它们返回一个人的id:

  1. 更大的得分1
  2. small score1
  3. 更大的得分2
  4. small score2
  5. 更大的得分_t
  6. small score_t
  7. (如果有许多人满足这些条件,则应选择相应参数差异最小的那个(如1和2的得分1))

    换句话说,它存储了3种人类排序。

    我需要的另外两个函数应该得到参数x,将score1或得分2设置为x,然后刷新上面的6个变量中的一些。

    如果我只需要按一个变量排序,我只需创建set并定义>和<我班的操作员。但是三个参数的解决方案是什么?是否可以在这里使用STL,或者我应该创建自己的列表/ treaps?

    __ 答案:How to update set of pointers c++?

1 个答案:

答案 0 :(得分:1)

std::sort有重载,它将比较器作为最后一个参数,因此您可以实现任何比较。

您可能也对std::stable_sort感兴趣。