-2

我有 n 个人类的人类

每个人在两轮中的一轮中都获得了一些分数。(得分 1 和得分 2)

每个人都有其独特的身份。Score1 和 2 也是唯一的。

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

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

  1. 更大的分数1
  2. 小分1
  3. 更大的分数2
  4. 较小的分数2
  5. 更大的分数_t
  6. 较小的 score_t

(如果有很多人满足这些条件,则应选择相应参数差异最小的人(如 score1 表示 1 和 2))

换句话说,它是某种存储 3 个人工排序的东西。

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

如果我只需要按一个变量排序,我只需为我的类创建集合并定义 > 和 < 运算符。但是三个参数的解决方案是什么?是否可以在这里使用 STL,或者我应该创建自己的列表/treap?

__ 答:如何更新指针集 c++?

4

1 回答 1

1

std::sort has overload which takes comparator as last argument, so you can implement any comparison.

You may be also interested in std::stable_sort.

于 2013-10-08T09:59:15.507 回答