算法-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;
}


posted @ 2022-03-01 07:53  Lnnau  阅读(83)  评论(0)    收藏  举报