std::lower_bound
时间: 2023-10-15 20:28:15 浏览: 110
std::lower_bound是C++ STL中的一个函数模板,用于在已排序的区间内查找某个特定值的位置。它返回一个迭代器,指向区间中第一个不小于给定值的元素。std::lower_bound有多个版本,具体使用哪个版本取决于参数的类型和数量。
版本一是最基本的版本,接受三个参数:一个表示区间起始位置的迭代器first,一个表示区间末尾位置的迭代器last,以及要查找的值value。这个版本使用默认的比较函数operator<来进行比较。它返回的迭代器指向第一个不小于value的元素,如果所有元素都小于value,则返回last。
版本二是C++20引入的新版本,接受三个参数:一个表示区间起始位置的迭代器first,一个表示区间末尾位置的迭代器last,以及要查找的值value。这个版本使用默认的比较函数operator<来进行比较。它返回的迭代器指向第一个不小于value的元素,如果所有元素都小于value,则返回last。
版本三也是C++20引入的新版本,接受四个参数:一个表示区间起始位置的迭代器first,一个表示区间末尾位置的迭代器last,要查找的值value,以及一个比较函数对象comp。这个版本使用自定义的比较函数comp来进行比较。它返回的迭代器指向第一个不小于value的元素,如果所有元素都小于value,则返回last。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++11标准模板(STL)- 算法 - 二分搜索操作(在已排序范围上)(std::lower_bound)](https://blog.csdn.net/qq_40788199/article/details/127990308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文