Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm upper_bound trong C++

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.