二分法查找

public class BinaryFind {

public static void main(String[] args) {

int[] array={1,33,43,52,67,72,84};

//Binary bf=new Binary();

Binary.find(0, array.length-1,84, array);

}

}

class Binary{

public static void find(int leftIndex,int rightIndex,int val, int[] array){

//找到中间数

int midIndex=(leftIndex+rightIndex)/2;

int midVal=array[midIndex];

if(rightIndex>=leftIndex){

if(rightIndex>=leftIndex){

//如果要找的数比midVal大

if(midVal>val){

//从array左边找

find(leftIndex,midIndex-1,val,array);

}else if(midVal==val){

System.out.println("找到下标"+midIndex);

}

}

}

}

}

你可能感兴趣的:(二分法查找)