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;
                }
            }
        }
        
  • 相关阅读:
    Socket 传送文件
    spring
    Hibernate学习笔记
    servlet之过滤器(转载)
    java 网络编程
    java 文件操作
    java 图形界面 邮件系统
    简易俄罗斯方块
    二叉树习题之重建二叉树
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/jskbk/p/5480622.html
Copyright © 2011-2022 走看看