java基礎 二分尋找演算法

來源:互聯網
上載者:User

標籤:尋找演算法   思路   位置   system   while   存在   二分尋找演算法   length   java基礎   

 /*
   * 折半尋找法:
   * 思路:
   * 定義三個變數記錄尋找範圍中最大、最小和中間的索引值,每次都是使用中間索引值與要尋找的目標進行對比,如果不符合,那麼就不停縮小尋找範圍
   * */
  //前提:尋找的序列必須是有序的
  int[] arr1 = {3,5,7,10,22,45,191};
  //定義三個變數記錄尋找的邊界和中間位置,並且初始化
  int min = 0;
  int max = arr1.length;
  int mid = (min + max)/2;
  //定義一個變數,記錄要尋找的元素值;
  int target = 56;
  
  while(true){
   if(target>arr1[mid]){
    min = mid+1;
   }else if(target<arr1[mid]){
    max = mid-1;
   }else if(target==arr1[mid]){
    System.out.println("找到了" + target + "的位置是:" + mid);
    break;
   }
   mid = (max+min)/2;
   if(max<min){
    System.out.println("沒找到,尋找的元素不存在");
    break;
   }
  }
  

java基礎 二分尋找演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.