我在线阅读了std::set
具有有用的成员函数,可以帮助搜索元素。
特别是
std::set::lower_bound
,它将迭代器返回到> =数字x的最小元素,并且std::set::upper_bound
,它将迭代器返回到超过x的最小元素。
但是,我想找到一个将迭代器返回给不超过x的largest元素的函数。 C ++中有这样的功能吗?
减少从上边界返回的迭代器:
std::set<int> s;
s.insert(3);
s.insert(4);
s.insert(5);
s.insert(7);
auto itor = s.upper_bound(6);
if (itor != s.begin())
{
--itor;
std::cout << *itor << std::endl;
}
上面应打印“ 5”