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

来源:互联网 发布:flash软件官方下载 编辑:程序博客网 时间:2024/04/30 04:11

**数据结构上机实验之二分查找
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
在一个递增的序列里,查找元素是否存在,若存在输出YES,不存在输出NO.
输入
本题多组数据,首先输入一个数字n(n>=100000),然后输入n个数,数据保证数列递增,然后再输入一个查找数字。
输出
若存在输出YES,不存在输出NO.
示例输入
4
1 3 5 8
3
示例输出
YES

#include <bits/stdc++.h>#define RR freopen("input.txt","r",stdin)#define WW freopen("output.txt","w",stdout)#define ClearAll(A,T) memset(A,T,sizeof(A))using namespace std;const int Max=110000;int a[Max];bool Searching(int low,int high,int data){    int mid;    while(low<=high)    {        mid=(low+high)/2;        if(a[mid]==data)            return true;        if(a[mid]<data)        {            low=mid+1;        }        else        {            high=mid-1;        }    }    return false;}int main(){    int n,data,i;    while(~scanf("%d",&n))    {        for( i=0;i<n;i++)        {            scanf("%d",&a[i]);        }        scanf("%d",&data);        if(Searching(0,n-1,data))        {            printf("YES\n");        }        else        {            printf("NO\n");        }    }    return 0;}
0 0
原创粉丝点击