二分查找法

介绍

二分查找法是一种十分基础的算法,他可以使得搜索的复杂度变为O(logn),每次写二分查找,都免不了调试边界条件,故写下此文,以后写二分查找好有统一写法。

代码

int binary_search(int *a, int val, int l, int r){
	int ans = -1;
	while(l <= r){
		int mid = (l + (r - l)) >> 1;
		if(a[mid] < val)
			l = mid + 1;
		else if(a[mid] > val)
			r = mid - 1;
		else{
			ans = mid;
			break;
		}
	}
	return ans;
}
posted @ 2020-01-29 19:54  阳离子  阅读(126)  评论(0编辑  收藏  举报