zoukankan      html  css  js  c++  java
  • java二分查找

        Scanner sc=  new   Scanner(System.in);
        System.out.println("请输入数字个数");
        int a=sc.nextInt();   //接收输入的数字 定义为a
        
        int arr[]=new int [a];//开辟一个空间储存数组
        for(int i=0;i<arr.length;i++)  //输入数组内的数
        {
            System.out.println("请输入第"+(i+1)+"个数");
            arr[i]=sc.nextInt();
        }
        for(int b=0;b<arr.length-1;b++)
        {
            for(int c=b+1;c<arr.length;c++)
                {
                if(arr[b]<arr[c])
                {
                    int d=arr[b];
                    arr[b]=arr[c];
                    arr[c]=  d;
                }
                }
        }
        for(int t : arr)
        {
            System.out.print(t+"    ");
        }
        System.out.println("请输入需要查找的数字");
        int f=sc.nextInt();  
        
        int mid;
        int max=arr.length-1;
        int min=0;
        
        for(;max>=min;)
        {
            mid=(max+min)/2;//求中间下标
            if(arr[mid]==f)
            {
                System.out.print("恭喜找到数字"+f+"   是第"+(mid+1)+"个数");
                break;
            }
            else
            {
                if (arr[mid]>f)
                {
                    min=mid+1;
                }
                else 
                {
                    max=mid-1;
                }
            }
        }
        
  • 相关阅读:
    跨域问题注解解决
    跳出循环到指定位置
    idea model管理
    maven 取本地jar
    注解 元注解
    手动打jar包到maven
    sonar搭建
    jmockit、junit
    注解
    虚拟机指令
  • 原文地址:https://www.cnblogs.com/jskbk/p/5480622.html
Copyright © 2011-2022 走看看