//二分查找(必须是已经排好的元素)
注意:查找区间正中元素的坐标时:mid=l+(r-l)/2;不用(r+l)/2(防止数据过大溢出)
/*#include"iostream"
using namespace std;
int binarysearch(int a[],int size,int n){
int l=0;
int r=size-1;
while(l<=r){
int mid=l+(r-l)/2;
if(n>a[mid])
l=mid+1;
if(n<a[mid])
r=mid-1;
if(n==a[mid])
return mid;
}
return -1;
}
int main(){
int a[5]={1,2,3,4,5};
int n;
cin>>n;
cout<<binarysearch(a,5,n);
return 0;
} */
二分查找
最新推荐文章于 2023-05-28 13:59:52 发布