在地图和列表之间寻找std容器

时间:2017-08-16 09:28:24

标签: c++ containers std

寻找一个容器,它在自定义键下存储元素(如地图),允许在键下以更好的复杂度搜索,然后O(n)(如地图),但也记住对中的顺序(键)插入了值和值,允许push_front和pop_back功能,如列表

编辑:简单地使用两个容器解决了问题。用于存储对的映射和用于按顺序存储索引的列表。如果有人提供更优雅的解决方案,请将此问题保持开放。

1 个答案:

答案 0 :(得分:4)

标准库中没有这样的数据结构。

A"琐事"实现这种结构的方法是在内部使用两个独立的结构。用于查找的映射,以及用于按插入顺序迭代的列表(或向量或双端队列)。其中一个数据结构应该存储对象,另一个可以存储指向对象的指针。

Boost库集合中存在这种多索引容器的概括。