带排序的STL数据结构

1 c++ stl

我需要一个可以根据结构自动排序的数据结构.

struct{
  int key;
  int comparisonValue(size of the vector);
}
Run Code Online (Sandbox Code Playgroud)

我需要以下面的形式:

datastructure<struct, vector<int>>
Run Code Online (Sandbox Code Playgroud)

在数据结构基于comparisonValue并基于比较值的最小值自动排序的情况下,我想获取向量并向其中添加一些数据.

我可以使用什么数据结构?我可以使用地图吗?是否有地图自定义排序器?

如果我需要修改密钥,在这种情况下是compareValue并仍然保持顺序排序,我该怎么办?

谢谢

Oli*_*rth 10

来自STL的std :: map.

默认情况下,这会通过比较键值来对键值进行排序std::less<Key>,默认情况下会调用operator<键值.因此,您可以operator<为结构类型定义重载::

bool operator<(const Key &a, const Key &b)
{
    return (a.someField < b.someField);
}
Run Code Online (Sandbox Code Playgroud)