首页 > 编程语言 > 详细

java 二分查找法

时间:2015-05-03 12:03:58      阅读:249      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!