#include<bits/stdc++.h>
using namespace std;
int bsearch(int *A,int l,int r,int v){
while(l <= r){
int mid = l + (r-l)/2;
if(v == A[mid]) return mid;//找到之后返回下标值
else if(v > A[mid]) l = mid + 1;//要找的值比中间大就向右边找
else r = mid - 1;//要找的值比中间小就向左边找
}
return -1;//未找到就返回-1
}
int main(){
//只能传已经排序好的数组
int A[10] = {35,53,66,155,312,657,1933};
int flag = bsearch(A,0,6,100);
printf("%d",flag);
return 0;
}
二分查找(C++)
于 2022-01-16 10:39:41 首次发布