#include<stdio.h>
#define MAXSIZE 50000
#define TRUE 1
#define FALSE 0
int Search(int *a,int low,int high,int b);
int main()
{
int n;
int i=0;
int a[MAXSIZE],b[MAXSIZE];
int m,t;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=0;i<m;i++){
scanf("%d",&b[i]);
}
for(i=0;i<m;i++){
t=Search(a,0,n-1,b[i]);
if(t==TRUE)printf("Yes\n");
else printf("No\n");
}
return 0;
}
int Search(int *a,int low,int high,int b)
{
int mid;
if(low<=high){
mid=(low+high)/2;
if(a[mid]==b)return TRUE;
if(a[mid]>b)return Search(a,low,mid-1,b);
if(a[mid]<b)return Search(a,mid+1,high,b);
}
else return FALSE;
}
二分查找noj
猜你喜欢
转载自blog.csdn.net/weixin_46112487/article/details/108962181
今日推荐
周排行