我正在寻找一个类似于C++映射的数据结构。C++映射,找到第一个小于键的元素
我正在寻找一个函数,可以返回第一个元素,立即少于一定数量。例如:
map<int,int> m;
m[1] ++;
m[2] ++;
m[4] ++;
m[5] ++;
find_first_element_less_than(3) ----> return 2;
m.upper_bound(3) ---> return 4;
我看了一下lower_bound
函数。但是,它表示它返回的第一个元素不小于关键字。在这种情况下,lower_bound(3)返回4.这不是我想要的。
我想知道是否有任何数据结构在C++中可以为我做这个?
更新:
我可以做auto it = m.lower_bound(3); if (it != m.begin()) it--;
?
这还不清楚。你是否想找到键值小于参数的* last *元素? (你想让函数返回值,键或者迭代器,或者什么?) – Beta