如何调整地图以找到最近的较小物体

How to adapt map in order to find the nearest smaller object?

本文关键字:最近 小物体 地图 何调整 调整      更新时间:2023-10-16

例如,如果我的映射是从整数到双精度的,并且包含:

  • 2->3.4
  • 3->87.3
  • 5->0.0
  • 12->43.4

当我搜索4时,我必须获得87.3,因为3是地图中最近的较小关键字。当我搜索11时,我必须获得0.0。

这可以用一棵平衡的树来完成。但我不想实现一个平衡树,可能有一种方法可以直接使用STL来实现这一点吗?

这可以用std::map::lower_bound完成。根据映射的确切状态,您可能需要递减迭代器(以使元素实际上更小)。

在任何情况下,总体复杂性都是对数的。