unordered_map 和 map 有什么区别?
时间: 2023-11-15 22:56:44 浏览: 122
C++11 unordered_map与map(插入,遍历,Find)效率对比。
unordered_map 和 map 都是 C++ STL 中的关联容器,它们的主要区别在于底层实现和特性。
map 是基于红黑树实现的,它可以自动将元素按照键值排序,因此在查找、插入、删除等操作时的时间复杂度都是 O(log n)。而 unordered_map 则是基于哈希表实现的,它不会对元素进行排序,因此在查找、插入、删除等操作时的时间复杂度是 O(1)(平均情况下)。
另外,由于 unordered_map 是基于哈希表实现的,因此它的迭代器是无序的,而 map 的迭代器则是有序的。
阅读全文