成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Javabinarysearch方法原理詳解

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

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了南岳免費建站歡迎大家使用!

首先 數(shù)組排序需要import java.util.Arrays類

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

用法1

binarySearch(Object[], Object key)

Object是目標(biāo)數(shù)組,key是目標(biāo)值,要求目標(biāo)數(shù)組必須要經(jīng)過排序的,否則無法找到正確的結(jié)果

查詢無非就是兩種結(jié)果,一種是目標(biāo)值在目標(biāo)數(shù)組里,另一種是不在

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

目標(biāo)值不在數(shù)組內(nèi)的,返回 -(第一個大于目標(biāo)值的元素的下標(biāo)+1),類似的,如果數(shù)組內(nèi)的值都比目標(biāo)值小,則是返回-(數(shù)組長度+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方法原理詳解

對應(yīng)相應(yīng)的位置輸出即可。

用法2

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)頁標(biāo)題:Javabinarysearch方法原理詳解
URL標(biāo)題:http://jinyejixie.com/article0/posiio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管網(wǎng)站設(shè)計、搜索引擎優(yōu)化、網(wǎng)站制作、響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
沧州市| 西充县| 诏安县| 错那县| 广东省| 曲水县| 宁蒗| 常州市| 新建县| 宜都市| 荔波县| 德钦县| 宝兴县| 潮州市| 桃源县| 崇州市| 南溪县| 鹤壁市| 新建县| 衡水市| 剑河县| 东乡县| 安国市| 双峰县| 邯郸市| 大冶市| 墨竹工卡县| 斗六市| 荥阳市| 香港 | 靖边县| 合水县| 松阳县| 平乐县| 马边| 荥阳市| 慈利县| 麻阳| 萨迦县| 壶关县| 札达县|