0%

查找算法

二分查找法(折半查找法)

数据是有序的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* @description: 二分查找算法,查到返回数据下标,查不到返回-1。
* @author 吴焕业
* @param arr
* @param target
* @return
*/
private int binarySearch(int[] arr,int target){
int low = 0;
int high = arr.length - 1;
while (low <= high) {
int mid = (low + high)/2;
if (target < arr[mid]) {
high = mid - 1;
} else if (target > arr[mid]) {
low = mid + 1;
} else {
return mid;
}
}
return -1;
}