Java_實(shí)例_遞歸實(shí)現(xiàn)二分查找法


import java.util.Arrays;

/**
 * 遞歸實(shí)現(xiàn)二分查找法
 * @author 肖
 *
 */
public class RankTest {
/**
 * 
 * @param key
 * @param a 數(shù)組
 * @return int 索引
 */
    public static int rank(int key, int[] a) {
        return rank(key, a, 0, a.length - 1);
    }

    public static int rank(int key, int[] a, int lo, int hi) {
        if (lo > hi)    return -1;
        int mid = lo + (hi - lo) / 2;
        
        if (key < a[mid])       return rank(key, a, lo, mid - 1);
        else if (key > a[mid])  return rank(key, a, mid + 1, hi);
        else                    return mid;
    }

    public static void main(String[] args) {
        int[] b = {1,3,5,7,9,5,4,13,12,14,15};
        Arrays.sort(b);//排序
        System.out.println(rank(15,b));//查找 15 在 b[] 中的索引位置
    }
}

在調(diào)用二分查找法之前必須先將數(shù)組排序;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 查找是在大量的信息中尋找一個(gè)特定的信息元素,在計(jì)算機(jī)應(yīng)用中,查找是常用的基本運(yùn)算,例如編譯程序中符號表的查找。本文...
    北方蜘蛛閱讀 3,021評論 1 4
  • 概述:排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    每天刷兩次牙閱讀 3,829評論 0 15
  • 當(dāng)它從綠洲變成滿眼黃沙,我依然在淌著雨的屋檐底下煮酒喝茶。 當(dāng)它從寸草不生變成紅燈綠酒,我認(rèn)識了歲月神偷還向他學(xué)習(xí)...
    加言寺閱讀 211評論 0 1
  • 文 /莫菲 好幾次,從他打工的便利店門前經(jīng)過,可掙扎了很久,卻還是鼓不足勇氣,踏進(jìn)門前,就連裝作巧遇,也做不來。 ...
    愛懟啤的西踢踢閱讀 227評論 1 0
  • 每天入睡前, 請認(rèn)真地對自己說, 把一切雜念全部放下。 現(xiàn)在只做一件事, 一件除了此刻就沒有機(jī)會再做的事。 什么都...
    小劇在成長閱讀 219評論 3 6

友情鏈接更多精彩內(nèi)容