码迷,mamicode.com
首页 > 编程语言 > 详细

java 二分查找法

时间:2015-05-03 12:04:10      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

public class QueryDemo {

	public static void main(String[] args) {
		int[] arr2 = new int[] { 11, 3,32,34, 45, 56, 78 };
		System.out.println("67在数组中的位置:" + halfSearch(arr2, 11));
	}

	public static int halfSearch(int[] arr, int value) {
		// 定义3个变量 min, mid, max
		int min = 0;
		int max = arr.length - 1;
		int mid = (min + max) / 2;

		while (value != arr[mid]) {
			// 判断
			if (value > arr[mid]) {
				// 在右侧
				min = mid + 1;
			} else {
				// 在左边
				max = mid - 1;
			}

			// 更新 mid
			mid = (min + max) / 2;

			// 当最小角标 大于 最大角标时, 证明 数据没有查询到
			if (min > max) {
				mid = -1;
				break;
			}
		}

		return mid;
	}
}

java 二分查找法

标签:

原文地址:http://blog.csdn.net/pengweid/article/details/45457189

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!