Java实现二分查找具体实现代码
Posted g0rez
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现二分查找具体实现代码相关的知识,希望对你有一定的参考价值。
import java.util.Arrays;
/**
*使用二分法查找的前提是数组中的元素已排序好
*@author g0rez
*@data 2021-06-17
*
*/
public class 二分法查找 {
public static void main(String[] args) {
int[] arr =new int[]{100,200,599,201,355};
Arrays.sort(arr);
for (int j = 0; j <arr.length ; j++) {
System.out.print(arr[j]+" ");
}
System.out.println();
System.out.println(binarySearch(arr,201));
//这里与Arrays类中已经实现的二分查找方法输出结果进行对比
System.out.println(Arrays.binarySearch(arr,201));
}
public static int binarySearch(int[] arr,int dest) {
int begin=0;
int end=arr.length-1;
while (begin<=end){
int mid=(begin+end)/2;
if(arr[mid]==dest){
return mid;
}else if(arr[mid]>dest){
end=mid-1;
}else {
begin=mid+1;
}
}
return -1;
}
}
运行结果
以上是关于Java实现二分查找具体实现代码的主要内容,如果未能解决你的问题,请参考以下文章
[Algorithm]二分插值斐波那契查找算法 Java 代码实现