二分查找

来源:互联网 发布:人工智能销售招聘 编辑:程序博客网 时间:2024/06/08 11:32
/** * 功能:二分查找 *  */package com.test1;public class Demo5_4 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint arr[]={2,5,7,12,25};BinaryFind bf=new BinaryFind();bf.find(0,arr.length-1,2,arr);}}//1:二分法查找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){//如果要找的数比midVal大    if(midVal>val){//在数中的左边找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);}}}  }

0 0