#include <stdio.h>
#define MAXLEN 100
int arr[MAXLEN];
void bs(int a[] , int x , size_t len) {//binary search(二分搜索)
size_t left = 0;
size_t right = len - 1;
if ( left <= right ) {
size_t mid = (left + right) / 2;
if ( x == a[mid] ) {
printf("Yes\n");
return ;
}
if ( x > a[mid] )
left = mid + 1;
else
right = mid = 1;
}
printf("No\n");
return ;
}
int main() {
size_t len;
scanf("%u" , &len);
for ( int i = 0 ; i < len ; i++ )
scanf("%d" , arr + i);
int x;
scanf("%d" , &x);
bs(arr , x , len);
return 0;
}
测试数据(两组,执行两遍):
5 input
1 3 4 7 8
4
Yes output
5 input
1 3 4 7 8
5
No output