#include <stdio.h>
int binsearch(int number, int *array, int length) {
int low = 0, high = length;
int mid = (low + length) >> 1;
while (low <= high) {
if (array[mid] > number) {
high = mid - 1;
} else {
low = mid + 1;
}
mid = (low + high) >> 1;
}
if (array[mid] == number) {
return mid;
} else {
return -1;
}
}
int main(){
int array[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int location;
int number = 2;
location = binsearch(number, array, 11);
printf("%d\n", location);
return 0;
}
二分搜索模版
最新推荐文章于 2021-06-30 21:26:19 发布