У меня есть std::map<std::string, float>
, поэтому я могу быстро искать значения float на основе имен, но теперь у меня есть ситуация, когда мне нужно найти следующее значение float в списке, как если бы оно было отсортировано численно. Насколько я знаю, я не могу просто использовать итератор, так как карта сортируется по ключевым словам. Так что, если мой набор содержит:Следующее значение в std :: map
std::pair<"One", 1.0>
std::pair<"Two", 2.0>
std::pair<"Three", 3.0>
std::pair<"Four", 4.0>
std::pair<"Five", 5.0>
Если я хочу, чтобы найти следующее значение после «тройки», что было бы наиболее эффективный способ сделать это? Ожидаемый результат в этом случае будет 4,0. Я могу перебрать весь список и сохранить максимальное значение вместе с текущим следующим значением. Это лучший способ?
Спасибо за редактирование, Prasoon. Я забыл сделать код кода. :) –