是否有查找表的std实现?

时间:2014-10-20 08:50:44

标签: c++11 lookup-tables

我想从具有线性插值的查找表中获取材质属性。是否存在类似的std实现?

否则我将使用两个向量x和y自己实现。使用lower_bound在x中查找正确的位置,然后使用x进行插值。我可以做得更好吗?

1 个答案:

答案 0 :(得分:0)

您可以使用有序的std::map。因此,对于给定的数字n,获取它下面的地图条目(使用lower_bound)和它上面的地图条目(使用upper_bound,或者简单地通过递增{{1}给出的迭代器然后插入。

你也可以使用一个简单的向量或数组,你可以用它们的键对它们进行排序,然后编写一个二分法访问(二进制搜索)。这可能比lower_bound更快(例如因为缓存局部性)。