C++ 查找函数


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);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM