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

    xiaoxiao2025-07-23  8

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

    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> using namespace std; #define MAX 100010 int 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; }
    转载请注明原文地址: https://ju.6miu.com/read-1300978.html
    最新回复(0)