您的位置:首页 > 理论基础 > 数据结构算法

数据结构上机实验之二分查找

2016-08-17 09:41 239 查看


数据结构上机实验之二分查找


Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

 在一个递增的序列里,查找元素是否存在,若存在输出YES,不存在输出NO.

输入

 本题多组数据,首先输入一个数字n(n>=100000),然后输入n个数,数据保证数列递增,然后再输入一个查找数字。

输出

 若存在输出YES,不存在输出NO.

示例输入

4
1 3 5 8
3


示例输出

YES


提示

 

来源

 cz

#include<bits/stdc++.h>

using namespace std;

int a[1000000];

void Binary_search(int low,int high,int k)

{

    int mid;

    while(low<=high)

    {

        mid=low+(high-low)/2;

        if(k==a[mid])

        {

            printf("YES\n");

            return ;

        }
        else if(k>a[mid])

            low=mid+1;

        else high=mid-1;

    }

    if(low>high)

       printf("NO\n");

}

int main()

{
    int m,k,n;

    while(~scanf("%d",&n))

    {

        for(int i=0; i<n; i++)

        scanf("%d",&a[i]);

        scanf("%d",&k);

       Binary_search(0,n-1,k);

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: