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