c++ - 集合中的 lower_bound (C++)

标签 c++ stl

我有一个集合,我想在其中找到不大于 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++ - 集合中的 lower_bound (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3966967/

相关文章:

C++ 使用 vector 加载 500MB 数据使用 5GB RAM

c++ - 实例化多个类型的成员函数模板

c++ - 我需要 C++ 连接器的示例代码来设置 "mysql_options"

c++ - 使用迭代器获取 std::list 中的下一个元素

c++ - 如何避免因 Koenig 查找而导致的标准命名冲突

c++ - 我可以创建一个 std::set 的 constexpr 对象吗?

c++ - ldconfig 命令恢复到以前的库版本

c++ - 有没有办法保证析构函数的相对顺序?

c++ - 将 STL 库添加到 mac os x bin

c++ - 是否可以使用 map 迭代器为 map 的元素赋值?