亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java binarysearch方法原理詳解

發布時間:2020-08-27 22:45:28 來源:腳本之家 閱讀:332 作者:dyhaohaoxuexi 欄目:編程語言

這篇文章主要介紹了Java binarysearch方法原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

首先 數組排序需要import java.util.Arrays類

binarysearch有兩個用法,一個是在整個數組里搜索,一個是在指定范圍搜索,其實都是差不多的,可以將前者視為后者的特殊情況。

用法1

binarySearch(Object[], Object key)

Object是目標數組,key是目標值,要求目標數組必須要經過排序的,否則無法找到正確的結果

查詢無非就是兩種結果,一種是目標值在目標數組里,另一種是不在

所以返回值也分為正負兩種,目標值在目標數組內的,返回下標(如果有多個相同的,無法確定找到的是哪個,因為是二分搜索)

目標值不在數組內的,返回 -(第一個大于目標值的元素的下標+1),類似的,如果數組內的值都比目標值小,則是返回-(數組長度+1)

樣例:

import java.util.Arrays;
public class number {
  public static void main(String[] args) {
  int a[] = new int[] {1, 3, 4, 6, 8, 9}; 
  int x1 = Arrays.binarySearch(a, 5); 
  int x2 = Arrays.binarySearch(a, 4); 
  int x3 = Arrays.binarySearch(a, 0); 
  int x4 = Arrays.binarySearch(a, 10);
  System.out.println(x1+" "+x2+" "+x3+" "+x4);
  }      
}

輸出:

-4 2 -1 -7

也可以這么理解:

Java binarysearch方法原理詳解

對應相應的位置輸出即可。

用法2

binarySearch(Object[], int fromIndex, int toIndex, Object key)

加了兩個int變量,代表區間的開始和結束,從fromindex(包含)到toindex(不包含)這個區間里面搜索,返回值和前面用法1類似,唯一有所不同的是,當如果區內的值都比目標值小,則是返回-(toindex+1),如果區間內的值都比目標值大,則返回-(fromindex+1),仔細想想不難理解,用法1就相當于fromindex為0且toindex為數組長度的用法2。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松潘县| 苏州市| 河津市| 万山特区| 襄垣县| 忻州市| 乌兰县| 二连浩特市| 崇仁县| 遂川县| 临江市| 芦山县| 奉新县| 蚌埠市| 博湖县| 招远市| 沂水县| 喀喇沁旗| 花莲市| 奉新县| 富顺县| 南川市| 长武县| 寻甸| 临潭县| 施秉县| 万源市| 韶关市| 阆中市| 桃江县| 乐山市| 应城市| 嫩江县| 朝阳区| 英超| 乌苏市| 乌恰县| 景德镇市| 汝州市| 咸宁市| 虎林市|