首页 > 电脑

c++二分查找

更新时间2019-06-22 06:34:04

设有n个已经从小到大排列的数,现在输入x,判断它是否在这n个数中,如果存在输出"YES",否则输出"NO"

输入

第一行,整数n

 

第二行,n个从小到大排列的数

 

第三行,要查找的数x

 

输出

YES或者NO

样例输入

10

1 2 3 4 5 6 7 8 9 10

15

样例输出

NO


C++的二分查找的函数为:(主函数自己写下)

int BinSearch(int r[],int n,int k) //数组,大小,要查的数

{

    int low=1,high=n;

    int mid;

    while(low<=high)

    {

        mid=(low+high)/2;

        if(k<r[mid])

            high=mid-1;

        else if(k>r[mid])

            low=mid+1;

        else

            return mid;

    }

    return 0;

}


上一篇:java连接MySQL时报错怎么整

下一篇:如何实现在下列表格中筛选出同一行值为8的列,并统计剩下的列数