lower_boundとupper_bound

今日も今日とて簡単な例を挙げていく。 意外に違いが少ないことがわかった。

int main() {
 int a[100] = { 1,3,4,5,10,14 };
 cout << *lower_bound(a, a + 6, 6) << endl; //10
 cout << *upper_bound(a, a + 6, 6) << endl; //10
}

lower_boundはN以上となる最初のイテレータを指しているそうです。また、 upper_boundはNより大きい最初のイテレータを指してるそうです。

int main() {
    int a[100] = { 1,3,4,5,6,10 };
    cout << *lower_bound(a, a + 6, 6) << endl;//6
    cout << *upper_bound(a, a + 6, 6) << endl;//10
}