2

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

当我向 std::map 栏添加东西时,我遇到了一个问题;字符串列表会自动按字母顺序排序。

我程序中的其他所有内容都可以正常工作。

我想知道是否有一个容器具有与 std::map 完全相同的功能但没有排序.. 所以我可以进行搜索并将 std::map 替换为 ???:??

有这样的吗?

在此先感谢--Jynks

4

1 回答 1

2

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

如果您想保留容器中项目的某种顺序使其作为关联容器(即映射)工作,您可以将自己的容器构建为链表和未排序映射的组合,类似于 Java 的LinkedHashMap.

于 2012-06-24T02:55:05.560 回答