std::map::lower_bound or std::map::upper_bound when the key



如果我能很好地理解,在给定的映射m中:如果我想找到大于或等于给定密钥k的第一个密钥,我使用m.lower_bound(k)。如果我想找到严格大于给定密钥k的第一个密钥,我使用m.upper_bound(k)

如果我仍然很清楚,那么如果密钥k还没有包含在映射m中,则没有区别在这种特定情况下(我知道我的地图不包含密钥(,有什么理由选择其中一个吗有一个比另一个快吗?

注意:出于兼容性原因,我不使用C++11/14/17

根据标准,它们都在对数时间内运行,映射是否包含密钥并不重要。如果在性能上存在差异,则将针对特定平台。

最新更新