寻找一个容器,它在自定义键下存储元素(如地图),允许在键下以更好的复杂度搜索,然后O(n)(如地图),但也记住对中的顺序(键)插入了值和值,允许push_front和pop_back功能,如列表
编辑:简单地使用两个容器解决了问题。用于存储对的映射和用于按顺序存储索引的列表。如果有人提供更优雅的解决方案,请将此问题保持开放。
答案 0 :(得分:4)
标准库中没有这样的数据结构。
A"琐事"实现这种结构的方法是在内部使用两个独立的结构。用于查找的映射,以及用于按插入顺序迭代的列表(或向量或双端队列)。其中一个数据结构应该存储对象,另一个可以存储指向对象的指针。
Boost库集合中存在这种多索引容器的概括。