C++语言习题 折半查找

来源:互联网 发布:阿里云服务器好卡 编辑:程序博客网 时间:2024/06/01 08:24
#include <iostream>#include <cmath>using namespace std;void input(int a[],int n){    int i;    for(i=0;i<n;i++)    {        cin>>a[i];    }}int binsearch(int a[],int n,int value){    int low=0,high=n-1,m=0;    while(low<=high)    {        int mid=(low+high)/2;        if(value==a[mid])        {            m=mid+1;            break;        }        else if(a[mid]<value)            high=mid-1;        else            low=mid+1;    }    return m;}int main(){    int a[20],n=0,value;    int position;    cin>>n;    input(a,n);    cin>>value;    position=binsearch(a,n,value);    cout<<position;    return 0;}

输出结果:


0 0
原创粉丝点击