【发布时间】:2016-08-16 07:52:53
【问题描述】:
我的数据将存储在整数和整数的映射中 关键是任意数字的start_range 该值为 end_range
例如我的地图将如下所示:
std::map<int,int> mymap;
mymap[100]=200;
mymap[1000]=2000;
mymap[2000]=2500;
mymap[3000]=4000;
mymap[5000]=5100;
现在,如果我的输入数字是 150,算法应该返回一个迭代器到 mymap[100]。 但是,输出值(即iterator->second)的范围检查逻辑应单独进行,以验证它是否在正确的范围内。
对于输入数字 4500,它可能会返回 mymap[5000],但范围检查逻辑应该失败,因为它是从 5000 到 5100。 请注意,地图中的范围没有重叠。
【问题讨论】: