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

    xiaoxiao2025-01-30  4

    题目描述

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

    输入

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

    输出

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

    示例输入

    4 1 3 5 8 3

    示例输出

    YES

    #include <iostream> #include <cstdio> #include <cstdlib> int a[100001]; using namespace std; void Search (int a[],int l,int r,int x) { int i,j,m; i=l; j=r; if(l<r) { m=(i+j)/2; if(a[m]==x)printf("YES\n"); else if(a[m]>x) Search(a,l,m-1,x); else Search(a,m+1,r,x); } else printf("NO\n"); } int main() { int n,i,x; while(~scanf("%d",&n)) { for(i=0;i<n;i++) scanf("%d",&a[i]); scanf("%d",&x); Search(a,0,n-1,x); } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1295934.html
    最新回复(0)