我有一个集合,我想在其中找到最大不大于x的数字。 (类似lower_bound(x))我应该怎么做?有预定义的功能吗?
set<int> myset;
myset.insert(blahblahblah);
int y;
//I want y to be greatest number in myset not greater than x
最佳答案
您可以像这样使用 upper_bound
:upper_bound(x)--
。上限使您的第一个元素大于x
,因此您要寻找的元素是在此之前的元素。如果upper_bound
返回begin()
,则需要特殊情况。
关于c++ - set中的lower_bound(C++),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3966967/