upper_bound trong STL C++ trả về iterator trỏ đến phần tử đầu tiên lớn hơn giá trị cho trước (strictly greater).
Cú pháp
iterator upper_bound(const value_type& val); const_iterator upper_bound(const value_type& val) const;
Ví dụ minh họa
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> myset;
for (int i = 1; i < 10; ++i) myset.insert(i * 10); // {10,20,...,90}
auto itup = myset.upper_bound(60); // trỏ đến 70
myset.erase(itup); // xóa 70
cout << "myset contains:";
for (auto it = myset.begin(); it != myset.end(); ++it)
cout << ' ' << *it;
return 0;
}
Kết quả
myset contains: 10 20 30 40 50 60 80 90
Lưu ý: Khác với lower_bound (trả về phần tử đầu tiên ≥ val), upper_bound trả về phần tử đầu tiên > val.