代码:
#include<iostream>
using namespace std;
int binarySearch(int b[],int key,int left,int right){
while(left<=right){
int mid=(left+right)/2;
if(b[mid]>key)
right=mid-1;
else if(b[mid]<key)
left=mid+1;
else
return mid;
}
return -1;
}
int main(){
cout<<"请输入顺序数组的长度以及各元素:"<<endl;
int n;cin>>n;
int a[n];
for(int i=0;i<n;i++){
int x;cin>>x;
a[i]=x;
}
cout<<"请输入要查找的元素"<<endl;
int m;cin>>m;
int flag=binarySearch(a,m,0,n-1);
if(flag==-1)
cout<<"没找到!"<<endl;
else
cout<<"找到了,下标为:"<<flag<<endl;
return 0;
}
输入输出: