java-2分查找
java-二分查找
二分搜索的前提为:必须为有序序列,可用快速排序法进行排序
二分搜索的前提为:必须为有序序列,可用快速排序法进行排序
class BinaryFind { /////必须是有序序列才能进行二分查找,可用快速排序进行排序 public void find(int leftIndex,int rightIndex,int val,int arr[]) { ///首先找到中间数 int midIndex=(rightIndex+leftIndex)/2; int midVal=arr[midIndex]; if(rightIndex>=leftIndex){ ///如果要找的数val比midVal大 if(midVal>val) { ///在arr左边找,采用递归 find(leftIndex,midIndex-1,val,arr); } else if(midVal<val) { ///在arr右边的数去找 find(midIndex+1,rightIndex,val,arr); } else if(midVal==val) { System.out.println("找到下标"+midIndex); } } else { System.out.println("不能找到-->"+val); } } }