【发布时间】:2011-01-30 13:09:58
【问题描述】:
我是一个 C++ 新手,我正在尝试使用映射,因此我可以获取 find() 方法的恒定时间查找。
问题是当我使用迭代器遍历地图中的元素时,元素出现的顺序与它们在地图中的放置顺序不同。
在不维护另一种数据结构的情况下,有没有办法在保持恒定时间查找能力的同时实现按序迭代?
请告诉我。
谢谢, jbu
编辑:感谢您让我知道 map::find() 不是恒定时间。
【问题讨论】:
-
std::map::find具有对数时间复杂度,而不是常数。