我的数据将被存储在地图上的整数和整数 的关键是任何数量 值的start_range是end_range寻找std :: map中输入数字的最接近范围的最有效的std算法是什么?
例如我的地图看起来就像这样:现在
std::map<int,int> mymap;
mymap[100]=200;
mymap[1000]=2000;
mymap[2000]=2500;
mymap[3000]=4000;
mymap[5000]=5100;
,如果我输入的号码是150,该算法应返回一个迭代器mymap中[100]。 但是,带有输出值(即迭代器 - >秒)的范围检查逻辑应单独完成,以验证它是否落在正确的范围内。
对于输入数字4500,它可以返回mymap [5000],但范围检查逻辑应该失败,因为它是从5000到5100. 请注意,地图中没有范围的OVERLAP。