二分法是有条件的:数组中的元素要有序排列
定义三个变量,min,mid,max,初始化min=0,max=数组长度-1;
package com.xxt.twofen;
import java.util.Arrays;
/**
* 二分查找
* @author 13983
*
*/
public class Main {
public static void main(String[] args) {
int[] a={40,60,30,80,50,20,90,20,10,70};
int target=80;
Arrays.sort(a);
boolean result=false;
int min=0;
int max=a.length-1;
while(min<=max){
int b=(min+max)/2;
if(target>a[b]){
min=b+1;
}
if(target<a[b]){
max=b-1;
}
if(target==a[b]){
min++;
result=true;
}
}
System.out.println(result);
}
}
本文介绍了一种有效的搜索算法——二分查找,并通过示例代码详细解释了其工作原理。二分查找的前提是待查找数组必须有序,算法通过不断缩小搜索范围直至找到目标值或确定目标值不存在于数组中。

831

被折叠的 条评论
为什么被折叠?



