数据结构上机实验之二分查找
Posted yutingliuyl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构上机实验之二分查找相关的知识,希望对你有一定的参考价值。
题目描写叙述
在一个递增的序列里,查找元素是否存在。若存在输出YES,不存在输出NO.
输入
本题多组数据,首先输入一个数字n(n>=100000)。然后输入n个数。数据保证数列递增。然后再输入一个查找数字。
输出
若存在输出YES,不存在输出NO.
演示样例输入
4 1 3 5 8 3
演示样例输出
YES
#include<stdio.h> #include<string.h> #define N 100001 int a[N]; int main() { int n,m,i,low,high,mid; while(~scanf("%d",&n)) { for(i=0;i<=n-1;i++) { scanf("%d",&a[i]); } scanf("%d",&m); int flag=1; low=0; high=n-1; while(low<high) { mid=(low+high)/2; if(m==a[mid]) { flag=0; break; } else if(m<a[mid]) { high=mid-1; } else { low=mid+1; } } if(flag==0) { printf("YES\n"); } else { printf("NO\n"); } } return 0; }
以上是关于数据结构上机实验之二分查找的主要内容,如果未能解决你的问题,请参考以下文章