是否有一个与std :: map完全相同但不能自动排序的容器?

时间:2012-06-24 02:50:38

标签: map containers

是否存在与std :: map具有相同功能的替代容器,但它不会自动对内容进行排序?由于std :: map是一个“有序”的容器。

我有一个问题,因为我在std :: map栏中添加了东西;字符串列表将按字母顺序自动排序。

我程序中的其他所有内容都能正常运行。

我想知道的是,如果有一个容器与std :: map具有完全相同的功能但是没有订购..所以我可以进行搜索并将???替换为std :: map? / p>

有类似的东西吗?

提前致谢 --Jynks

1 个答案:

答案 0 :(得分:2)

从C ++ 11开始,有一个std::unordered_map容器可用。许多尚未完全兼容C ++ 11的编译器也支持它。此容器不按字母顺序排序您的项目,但作为关联容器,不需要保留项目的插入(或任何其他)顺序。

如果您想保留容器中某些项目的顺序也让它作为关联容器(即地图)工作,您可以将自己的容器构建为链接的组合列表和未排序的地图,类似于Java的LinkedHashMap