/**
* 二分查找----->一直分为左右两部分,找中间值
* 二分法需要顺序排列
* 一般方法
*
* @author Mona
*
*/
public class BinarySearchTest1 {
public static int binarySearch(int[] arr,int target) {
int low = 0; //开始位置
int high = arr.length-1; //记录结束位置
int index = -1;
while(low <= high) {
int mid = (low + high)/2;//中间位置
//判断中间元素是不是要查找的元素
if(arr[mid] == target) {
index = mid;
break;
}else {
if(arr[mid] > target) {
high = mid -1;
}else {
low = mid + 1;
}
}
}
return index;
}
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7,8};
int index = binarySearch(arr, 8);
System.out.println("index:" + index);
}
}