日志16
二分查找
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1e3 + 5;
int n, m;
int a[N];
void binarySearch(int m)
{
//left:序列的左端位置,right:序列的右端位置
int left = 0, right = n - 1;
int mid; //序列的中间位置
/****** 请补充以下的while循环******/
while(left < right)
{
int mid= (left+right)/2;
if(m<a[mid]){
right=mid;}
else
left=mid+1;}
if(m==a[left-1])
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
int main()
{
cin >> n;
for(int i = 0 ; i < n ; i++)
{
cin >> a[i];
}
sort(a, a+n); //从小大进行排序
cin >> m;
binarySearch(m);
return 0;
}#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1e3 + 5;
int n, m;
int a[N];
void binarySearch(int m)
{
//left:序列的左端位置,right:序列的右端位置
int left = 0, right = n - 1;
int mid; //序列的中间位置
/****** 请补充以下的while循环******/
while(left < right)
{
int mid= (left+right)/2;
if(m<a[mid]){
right=mid;}
else
left=mid+1;}
if(m==a[left-1])
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
int main()
{
cin >> n;
for(int i = 0 ; i < n ; i++)
{
cin >> a[i];
}
sort(a, a+n); //从小大进行排序
cin >> m;
binarySearch(m);
return 0;
}v