1. lower_bound()
用于在指定区域内查找大于等于目标值的第一个元素(实质是二分法查找)
auto it = lower_bound(f.begin(), f.end(), num);
2. upper_bound()
查找的是第一个大于目标值的元素
int *p = upper_bound(a, a + 5, 3);
3. equel_range()
用于在指定范围内查找等于目标值的所有元素,前提是已排好序
pair<int*, int*> range = equal_range(a, a + 9, 4);
4. find()
用于在指定范围内查找和目标元素值相等的第一个元素,找不到会到end()
std::vector<int>::iterator it;
it = find(myvector.begin(), myvector.end(), 30);
if (it != myvector.end())
cout << "查找成功:" << *it;
else
cout << "查找失败";
return 0;
5. binary_search()
用于查找指定区域内是否包含某个目标元素,返回bool
bool hasElem = binary_search(a, a + 9, 4);
原文链接: https://www.cnblogs.com/Kinghao0319/p/14479679.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/208579
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!