gpt4 book ai didi

c++ - STL 映射与 vector 的迭代器访问性能?

转载 作者:IT老高 更新时间:2023-10-28 23:22:45 26 4
gpt4 key购买 nike

使用迭代器遍历 STL 映射与使用 vector 之间的性能差异是什么?我想使用 map 键进行插入、删除和一些访问,但我还需要对 map 中的 每个 元素进行常规访问。

最佳答案

使用 map 和 vector,遍历整个集合是 O(N)。但是(如列表 vs vector ) vector 连续存储元素,因此访问下一个元素要便宜得多,因为它将优化使用缓存,而映射不会。

但由于您需要根据键进行查找,因此没有其他选择。您可以使用按第一个元素排序的对 vector ,但如果集合需要是可变的,这将非常慢。只需使用 map 。

关于c++ - STL 映射与 vector 的迭代器访问性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/730498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com