二分查找

来源:互联网 发布:淘宝卖家体检中心链接 编辑:程序博客网 时间:2024/06/09 21:25
#include<cstdio>using namespace std;int dichotomies(int arr[],int x,int right){    int mid;    int left = 0;    while(left <= right)    {        mid = (left + right)/2;        if(arr[mid] == x)        {            return mid;        }        else if(x < arr[mid])        {            right = mid - 1;        }        else        {            left = mid + 1;        }    }    printf("no");    return -1;}int main(){    int arr[10] = {0,1,2,3,4,5,6,7,8,9};    int i;    int x;    int s;    while(scanf("%d",&x))    {        s = dichotomies(arr,x,9);        printf("%d\n",s);    }    return 0;}

0 0
原创粉丝点击