#include<iostream>
using namespace std;
int Search(int a[],int size,int key)
{
int L=0;
int R=size-1;
while(L<=R)
{
int mid=(L+R)/2;
if(a[mid]==key)
{
return mid;
}
else if(key>a[mid])
{
L=mid+1;
}
else if(key<a[mid])
{
R=mid-1;
}
}
return -1;
}
int main()
{
cout<<"待查找的数组为:"<<endl<<"{1,2,3,4,5,6,7,8,9,10,11}"<<endl;
int a[]={1,2,3,4,5,6,7,8,9,10,11};
int size=sizeof(a)/sizeof(int);//申请与数组一样大的内存
cout<<"请输入要查找数(key):";
int key;cin>>key;
cout<<"若能找到key则返回其地址,否则返回-1: ";
cout<<Search(a,size,key)<<endl;
}
程序输出结果: