二分查找的实现:
对于给定的数组和值,查找该值是否存在。
#include<iostream>
using namespace std;
int main(){
int k=60;
int a[]={1,5,6,9,10,30};
int length = sizeof(a)/sizeof(a[0]);
int l=0;
int r=length-1;
int pos=-1;
while(r-l>=0){
int mid=(l+r)/2;
if(k<a[mid]){
r=mid-1;
}else if(k>a[mid]){
l=mid+1;
}else if(k==a[mid]){
pos=mid;
break;
}
}
cout<<pos;
return 0;
}
网友评论