二分查找

来源:互联网 发布:反光镜乐队 知乎 编辑:程序博客网 时间:2024/06/01 10:36
#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#define NUM 8using namespace std;int a[NUM];int binary_search(int b[],int low,int high,int key){    if(low<=high)    {        int mid = (low+high)/2;        if(b[mid]==key) return key;        else if(key<b[mid]) return binary_search(b,low,mid-1,key);        else if(key>b[mid]) return binary_search(b,mid+1,high,key);    }    else        return -1;}int main(){    int key;    scanf("%d",&key);    for(int i=0;i<NUM;i++)    {        scanf("%d",&a[i]);    }    int result = binary_search(a,0,NUM-1,key);    printf("%d",result);    return 0;}

0 0
原创粉丝点击