我有一張地圖,它將多個鍵作爲鍵和字符串映射爲值。我需要一個採用給定長度的方法,在地圖中搜索並返回儘可能接近該值的鍵的值。C++地圖找到最接近的鍵
例子:
std::map<std::long,string> mymap = {
{ 0,5, "Value1" },
{ 1,5, "Value2" },
{ 3, "Value3" } };
string getClosestValue(long randomnumber) {
//dont know what to do
return string
}
當我這樣調用的方法:我想該方法返回的「值1」,即使對於「值1」關鍵是0,5 getClosestValue(0,9)。我想要「Value1」而不是「Value2」,因爲0,9比1,5更接近0.5。
這樣做的最好方法是什麼?
什麼是0,5?和1,5?.. –
對於這個問題,什麼是'std :: long'? –