binary_search浅析
binary_search浅析
一、介绍
1、binary_search是c++ < algorithm >库中的一个函数。
2、常用于判断某个元素是否存在,若元素存在则返回值为1,不存在则返回值为0。
二、用法
1、函数原型:
bool binary_search(beg,end,const T& value,op)
或 bool binary_search(beg,end,const T& value)
2、函数的引用:
binary_search(查找首地址,查找终止地址,要查找的元素,被查找元素的排序方式)
其中被查找元素的的排序方式可不填。
2、函数的引用示例:
int a[]={1,2,3,5,6,8,9};//输入一个排好序的数组
cout<<binary_search(a,a+7,6);//对数组中的6进行查找
这里由于能找到‘6’这个元素,输出的值是‘1’。
若查找的值为‘7’因为数组a中没有7就会返回0。
3、有op的引用方式:
op的需要写成一个返回值为bool类型的函数,其参数是两个int类型的数值,返回值若是a<b就是从小到大,返回值是a>b就从大到小。
bool op(int a,int b)
{
return a%10<b%10;//我们这里定义数组是按个位数从小到大排序的
}
int main()
{
int a[]={81,92,33,55,16,28,79};//按个位数从小到大排序的数组
cout<<binary_search(a,a+7,66,op);//查找个位数与66相同的数
return 0;
}
因为16与66的个位数相同,所以最终会输出‘1’。
三、参考资料
https://blog.csdn.net/lanzhihui_10086/article/details/42193189
https://blog.csdn.net/luoshabugui/article/details/107997893?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
新人写博客,欢迎指出不足指出,希望与大家共同进步。
厚脸皮求个点赞QAQ
如果你感觉我写的不错就请点个关注吧^ _ ^