算法-C语言-二分法查找
//二分法查找
#include<stdio.h>
//定义一个函数存放查找算法
int binsearch(int x,int a[],int n) {
int low,high,mid;
//数组上下界初始化
low = 0,high = n-1;
while(low<=high) {
//求出中间元素的下标
mid = (low + high) / 2;
if(x<a[mid]) {
high = mid-1;
} else if(x>a[mid]) {
low = mid + 1;
} else
return mid;
}
return -1;
}
int main(){
//数据需要有顺序
int array[] = {1,3,5,7,11,22,33,55};
int number;
scanf("%d",&number);
int location = binsearch(number,array,8);
printf("%d\n",location);
return 0;
}