#include <stdio.h>
//A[]为严格递增序列,left为二分下界,right为二分上界,x为欲查询的数
//二分区间为左闭右闭得[left, right],传入的初值为[0,1]
int binarySearch(int A[], int left, int right, int x) {
int mid;
while(left <= right){
mid = (left + right) / 2;
if(A[mid] == x)
return mid;
else if(A[mid] > x)
right = mid - 1;
else
left = mid + 1;
}
return -1;
}
int main() {
int A[10] = {1, 3, 4, 6, 7, 8, 10, 11, 12, 15};
printf("%d", binarySearch(A, 0, n - 1, 6));
return 0;
}
二分
最新推荐文章于 2024-09-24 08:18:57 发布