您的位置:首页 > 其它

二分查找

2016-02-13 00:22 260 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: