二分函数总结
Posted accepting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分函数总结相关的知识,希望对你有一定的参考价值。
1.binary_search(arr[],arr[]+size,index)
#include<algorithm>
功能
在数组中查找某个元素是否存在
函数模板:binary_search(地址1,地址2,v)
返回值:若是查到了v返回1,查找不到则返回0;
时间复杂度:log2(N)+2
2.lower_bound()
lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,
找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
lower_bound( begin,end,num,greater<type>() ):从数组的begin位置到end-1位置二分查找第一个小于或等于num的数字,
找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
3.upper_bound()
upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,
不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
upper_bound( begin,end,num,greater<type>() ):从数组的begin位置到end-1位置二分查找第一个小于num的数字,
找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
https://blog.csdn.net/vocaloid01/article/details/80583539
以上是关于二分函数总结的主要内容,如果未能解决你的问题,请参考以下文章