欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

binary_search浅析

程序员文章站 2022-05-05 19:10:37
...

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

如果你感觉我写的不错就请点个关注吧^ _ ^

相关标签: c++ stl