码迷,mamicode.com
首页 > 编程语言 > 详细

java之折半查找

时间:2014-05-15 22:11:22      阅读:421      评论:0      收藏:0      [点我收藏+]

标签:class   c   java   ext   int   strong   

//功能:二分查找import java.util.*;

public class Demo1 {

   public static void main(String[] args) {

     int arr[]={2,5,7,12,25};//定义arr数组并赋值

     System.out.print("请输入你需要查找的数:");

     Scanner sr=new Scanner(System.in);

     int a=sr.nextInt();

     BinaryFind bf=new BinaryFind();//创建BinaryFind对象

     bf.find(0,arr.length-1,a,arr);//调用find方法,并将数据传给方法

   }

}

//二分法

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){

          //在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("数组arr["+midIndex+"]中的数字是"+arr[midIndex]);

        }

     }else{

        System.out.println("没有找到你要找的数!");

     }

   }

}

java之折半查找,布布扣,bubuko.com

java之折半查找

标签:class   c   java   ext   int   strong   

原文地址:http://www.cnblogs.com/ql211lin/p/3730795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!