java 二分法去数据

来源:互联网 发布:顶新影音 mac 编辑:程序博客网 时间:2024/05/17 22:49

是用二分法来判断数组中数据的下标

条件:1 数组必须是按顺序排列的

优点:查找数据速度更快

public class Test {
 public static void main(String[] args) {
  int a[] = new int[]{1,23,45,46,67,78,89,666};
  boolean b = v(45,a);
  System.out.println(b);
  
 }
 //二分法取数据
 public static boolean v(int value,int b[]){
  boolean bool = false;
  int k = 0,length = b.length;
  while(k<=length){
   int a = (k+length)/2;
   System.out.println(a);
   
   if(b[a] == value){
    return !bool;
   }
   if(b[a] > value){
    length = a-1;
   }
   if(b[a] < value){
    k = a+1;
   }
  }
  return bool;
 }
}