思路:逐渐缩短范围
代码:
#include<iostream>
#include<stdio.h>
using namespace std;
int binSearch(int elem[],int n,int key)
{
int low=0,high=n-1;
while(low<=high)
{
int mid=(low+high)/2;
if(key==elem[mid])
{
return mid;
}
else if(key<elem[mid])
{
high=mid-1;
}
else
{
low=mid+1;
}
}
return -1;
}
int main()
{
int a[10];
for(int i=1; i<=10; i++)
{
scanf("%d",&a[i]);
}
cout<<binSearch(a,10,8);
}