一个键码对应多个有序的键值,用什么容器?

ooolinux 2017-06-17 11:55:14
一个键码对应多个键值可以用multimap,
一个键码对应多个有序的键值,用什么容器呢?
...全文
492 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-07-04
  • 打赏
  • 举报
回复
map vector map list
yelinCoder 2017-07-04
  • 打赏
  • 举报
回复
multimap 类中好像对同一键值下排序有相关说明,multimap 类

template <
   class Key, 
   class Type, 
   class Traits=less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
> class multimap;
参数
--------------------------------------------------------------------------------
Key 
要存储在多重映射中的键数据类型。
Type 
要存储在多重映射中的元素数据类型。
Traits 
一种提供函数对象的类型,该函数对象可将两个元素值作为排序键进行比较,以确定其在多重映射中的相对顺序。 默认值是二元谓词 less<Key>。
在 C++ 14 中可以通过指定没有类型参数的 std::less<> 或 std::greater<> 谓词来启用异类查找。 有关详细信息,请参阅 关联容器中的异类查找
Allocator 
一种表示存储的分配器对象的类型,该分配器对象封装有关映射的内存分配和解除分配的详细信息。 此参数为可选参数,默认值为 allocator<pair <const Key, Type> >。
开心秋水 2017-07-04
  • 打赏
  • 举报
回复
map<key, set<T>>
paschen 2017-06-19
  • 打赏
  • 举报
回复
标准库中没有直接这样的容器,但你可以选择适合的进行组合,或者自己写你需要的
wallesyoyo 2017-06-19
  • 打赏
  • 举报
回复
楼主要的不是有序的键值吗?用
std::map<int, std::set<int> >
不是更好吗?
bravery36 2017-06-19
  • 打赏
  • 举报
回复
map<t, map<t1, t2>> 总有合适的。
qwqwqw408 2017-06-18
  • 打赏
  • 举报
回复
引用 1 楼 jicchy 的回复:
map<int,vector<int>> g_KeyList = { {1,{10,20,30}}, {2.{20,30}}, } 可以使用镶嵌的容器
+1
jicchy 2017-06-18
  • 打赏
  • 举报
回复
map<int,vector<int>> g_KeyList = { {1,{10,20,30}}, {2.{20,30}}, } 可以使用镶嵌的容器

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧