package com.wzs;
/**
* 算法导论--page22
*
* @author Administrator
*
*/
public class BinarySearch {
public static void main(String[] args) {
int[] arr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
System.out.println(binarySearch(arr, 6, 0, arr.length));
}
/**
* 二分查找
*
* @param arr
* 查找的数组
* @param value
* 查找的值
* @param left
* 数组开始下标
* @param right
* 数组结束下标
* @return 查找的值所在数组中下标位置,-1表示不存在
*/
static int binarySearch(int[] arr, int value, int left, int right) {
while (left <= right) {
int middle = (left + right) / 2;
if (value == arr[middle]) {
return middle;
} else if (value > arr[middle]) {
left = middle + 1;
} else {
right = middle - 1;
}
}
return -1;
}
}
算法导论_二分查找
最新推荐文章于 2020-04-18 22:50:43 发布