• 数据结构上机实验之二分查找 分类: 查找 2015-06-18 17:27 9人阅读 评论(0) 收藏


    **数据结构上机实验之二分查找
    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
    ");
            }
            else
            {
                printf("NO
    ");
            }
    
        }
        return 0;
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    第十三周学习进度
    第二次冲刺阶段每日任务02
    第二次冲刺阶段每日任务01
    构建之法阅读笔记03
    找水王续
    第十二周学习进度
    找水王
    第十一周学习进度
    博客园的用户体验
    找水王1
  • 原文地址:https://www.cnblogs.com/juechen/p/4722012.html
Copyright © 2020-2023  润新知