zoukankan      html  css  js  c++  java
  • Java数组2(2015-8-27)

    1、二分查找法讲解:如果使用二分查找法做操作的话,数组必须为有序的。 所以一开始是无序数组时,要先排序为有序数组。 

    public class Test2{

     public static void main(String[] args){  

     //--查找某个数据,所在的位置  

                  int number = 8;  

     //--定义个数组  

     //int[] arr = new int[]{7,2,10,9,45,3,4};

    //排序和二分法同时使用。    

                   int[] arr = new int[]{2,3,4,7,9,10,45};   

    //--开始下标  

                  int start = 0;   

    //--终止下标   

                  int end = arr.length-1;  

     //--所求出的中间下标  

                  int middle;  

     //--存储数组所在位置的容器(如果最后打印出index为-1,证明查找的数据不存在)  

                 int index = -1;   

                 while(start<=end){      

                          middle = (start+end)/2;   

                          if(number==arr[middle]){    

                                    index = middle+1;    

                                    break;  

                          }else if(number<arr[middle]){   

                                   end = middle -1;    

                         }else if(number>arr[middle]){   

                                   start = middle +1;    

                         }

               }  

              if(index==-1){    

                              System.out.println("没找到所需要的数据!!!");   

             }else{   

                             System.out.println("数据的位置为:"+index);   

             }     

     } }

    2、import java.util.Scanner;

    public class BinarySearch{      

      public static void main(String [] args){              

            int [] array={10,20,30,40,50,60,70,80};           

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

    Scanner input=new Scanner(System.in);         

       int number=input.nextInt();          

      int index=-1;          

      int start=0;         

       int end=array.length-1;       

         int middle;       

         while(start<=end){              

                     middle=(start+end)/2;                

                      if(number==array[middle]){                      

                                                index=middle+1;                       

                                               break;               

                     }              

                     if(number>array[middle]){                        

                                        start=middle+1;                  

                      }              

                   if(number<array[middle]){                      

                                            end=middle-1;            

                   }           

           }

               if(index==-1){                   

                           System.out.println("没找到");          

              }else{                 

                         System.out.println("找到了"+index);         

       } }}

  • 相关阅读:
    CentOS 8配置Java环境
    记录一个免费的开源API接口管理工具
    WebAPI 查询lookup字段的属性
    Windows环境变量配置与读取
    The specified Active Directory user already exists as a Dynamics 365 user
    QueryExpression之GreaterEqual和LessEqual
    Dynamics CRM Plugin Use Config
    【转】Reports SPN/SSPI Problems
    【转】Report Server cannot load the TERADATA / SQLPDW extension
    iOS 自动布局
  • 原文地址:https://www.cnblogs.com/Ly426/p/4763058.html
Copyright © 2011-2022 走看看