给出一组整数,整数个数不超过
100000
,求这组整数中是否有
k
。
#include
#include
#include
#define max_size 100
using namespace std;
int n,k;
int data[max_size];
int search()
{
int low,high,mid,ans=-1;
high=n-1; //上界
low=0; //下界
while(low<=high)
{
mid=(low+high)/2; //二分
if(data[mid]==k)
{
ans=mid;
break;
}
else if(data[mid]>k)
{
high=mid-1;
}
else
{
low=mid+1;
}
}
return ans;//返回下标
}
int main()
{
while(cin>>n>>k)
{
for(int i=0;i
>data[i];
sort(data,data+n);//将data变成有序数列
int flag;
flag=search();
if(flag==-1)
cout<<"no"<