我有一个集合,我想在其中找到最大不大于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/

10-10 14:19