/*
array:数组名
n:数组大小
k:二分法需要找的值
*/
int binary(int array[],int n,int k){
int l = -1;
int r = n;
while(l + 1 < r){
if(k < array[(l + r) / 2])
r = (l + r) / 2;
if(k == array[(l + r) / 2])
return (l + r) / 2;
if(k > array[(l + r) / 2])
l = (l + r) / 2;
}
}
每次都是减少一半所以时间复杂度为logn(在程序员中一般log没有写底的都是以2为底)