zoukankan      html  css  js  c++  java
  • java之折半查找

    //功能:二分查找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("没有找到你要找的数!");
    
         }
    
       }
    
    }
  • 相关阅读:
    五、Django的模板渲染和继承
    四、Django的views
    三、Django的urls
    ubuntu超过4G如何备份成iso文件
    15张vim速查表
    这样配置你的IDEA工作效率提高好几倍!
    git用法
    数据库 | MySQL日志管理
    异常处理
    池 concurrent.futrues
  • 原文地址:https://www.cnblogs.com/ql211lin/p/3730795.html
Copyright © 2011-2022 走看看