- find(array.begin(), array.end(), int val)
a. 遍历整个范围。
b. 如果没有找到,则返回array.end,如果找到,则返回第一个相等元素的迭代器。 - lower_bound(array.begin(), array.end(), int val)
a. 二分查找。
b. 返回范围内不小于val的第一个值,如果都小于则返回array.end。 - upper_bound(array.begin(), array.end(), int val)
a. 二分查找。
b. 返回范围内大于val的第一个值,如果都小于则返回array.end。 - equal_range(array.begin(), array.end(), int val)
a. 利用lower_bound和upper_bound实现。
b. 返回一个包含两个迭代器的pair,如果不存在,则返回大于val的第一个值。 - binary_search(array.begin(), array.end(), int val)
a. 利用lower_bound实现的二分查找(不等于end且val不小于返回的第一个元素)。
b.如果存在返回true,不存在返回false。
STL 函数 详解
最新推荐文章于 2024-02-02 17:42:57 发布