我遇到过这样一种情况,我想使用关联容器,我选择使用 std::unordered_map,因为这个容器可以用来容纳数百万或更多的元素是完全可行的。但是现在我还需要按顺序迭代。我考虑过在列表中将值类型相互链接,但现在我将遇到内存管理问题。
我应该改变容器,比如说 std::map 吗?或者只是通过我的 unordered_map 迭代一次,插入到一个 vector 中,然后排序,然后迭代?我不太可能需要以有序的方式反复迭代。
最佳答案
嗯,您知道您选择的两个备选方案的各种操作的 O()。您应该基于此进行选择,并根据您需要性能发生的位置以及哪个容器最适合该性能来进行成本/ yield 分析。
当然,我不可能知道足够多的知识来为你做那个分析。
关于c++ - C++中的关联和迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4391655/