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

来源:互联网 发布:中国石油库存数据 编辑:程序博客网 时间:2024/05/21 10:48

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

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

题目描述

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

输入

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

输出

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

示例输入

41 3 5 83

示例输出

YES

提示

 

来源

 
#include<bits/stdc++.h>using namespace std;#define MAX 100010int a[MAX];int Bin_search(int *a,int x,int y,int key){    int mid = 0;    while(x<=y)    {        mid = (x+y)/2;        if(a[mid]==key)            return 1;        else if(a[mid]<key)            x=mid+1;        else            y=mid-1;    }    return 0;}int main(){    int n;    int key;    while(cin>>n)    {        for(int i=0;i<n;i++)        {            cin>>a[i];        }        cin>>key;        if(Bin_search(a,0,n-1,key))        {            cout<<"YES"<<endl;        }        else            cout<<"NO"<<endl;    }    return 0;}

0 0
原创粉丝点击