欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)的快速查找算法示例

 更新時(shí)間:2017年09月12日 09:28:32   作者:Mr.洛洛  
這篇文章主要介紹了Java實(shí)現(xiàn)的快速查找算法,結(jié)合具體實(shí)例形式分析了快速查找算法的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的快速查找算法。分享給大家供大家參考,具體如下:

快速查找算法,可以根據(jù)想要找的是第幾個(gè)大的數(shù),每次循環(huán)都能固定下來一個(gè)數(shù)在數(shù)組完整排完序之后的位置,每次循環(huán)都能定一個(gè)數(shù)的位置,如果當(dāng)前固定的數(shù)的位置和用戶要找的第幾個(gè)數(shù)匹配,則就直接返回。例如我要找第二大的數(shù),如果循環(huán)一次固定的數(shù)的下標(biāo)是1,那就是當(dāng)前需要找的數(shù)。

代碼如下:

// 快速查找算法
public static int quickSelect(int[] arr, int selectIndex) {
    int s = 0;
    int i = s+1;
    while(i < arr.length) {
      if(arr[i] < arr[0]) {
        int t = arr[s+1];
        arr[s+1] = arr[i];
        arr[i] = t;
        s += 1;
        i = s+1;
        continue;
      }
      i++;
    }
    // i找到最后之后將下表為s的值和第一個(gè)值交換
    int temp = arr[0];
    arr[0] = arr[s];
    arr[s] = temp;
    if(selectIndex-1 == s) {
      return arr[s];
    }else {
      // 將數(shù)組不需要的切掉  用后一部分去回調(diào)
      int arrs[] = new int[arr.length - s];
      for(int j = s; j < arr.length; j++) {
        arrs[j-s] = arr[j];
      }
      quickSelect(arrs, selectIndex);
    }
    return 0;
}

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • IDEA無法打開Marketplace的三種解決方案(推薦)

    IDEA無法打開Marketplace的三種解決方案(推薦)

    這篇文章主要介紹了IDEA無法打開Marketplace的三種解決方案(推薦),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 一文深入解析JDBC超時(shí)機(jī)制

    一文深入解析JDBC超時(shí)機(jī)制

    恰當(dāng)?shù)腏DBC超時(shí)設(shè)置能夠有效地減少服務(wù)失效的時(shí)間,下面這篇文章主要給大家介紹了關(guān)于JDBC超時(shí)機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • 圖解Java中插入排序算法的原理與實(shí)現(xiàn)

    圖解Java中插入排序算法的原理與實(shí)現(xiàn)

    插入排序的算法描述是一種簡(jiǎn)單直觀的排序算法。它的工作原理是通過構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。本文將通過圖片詳解插入排序的原理及實(shí)現(xiàn),需要的可以參考一下
    2022-08-08
  • Hadoop MultipleOutputs輸出到多個(gè)文件中的實(shí)現(xiàn)方法

    Hadoop MultipleOutputs輸出到多個(gè)文件中的實(shí)現(xiàn)方法

    這篇文章主要介紹了 Hadoop MultipleOutputs輸出到多個(gè)文件中的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • MyBatis實(shí)現(xiàn)高級(jí)映射的示例代碼

    MyBatis實(shí)現(xiàn)高級(jí)映射的示例代碼

    高級(jí)映射主要還是映射,只是映射中的數(shù)據(jù)關(guān)系復(fù)雜了,其中就包括一對(duì)一、一對(duì)多、多對(duì)多的關(guān)系,本文主要介紹了MyBatis實(shí)現(xiàn)高級(jí)映射的示例代碼,感興趣的可以了解一下
    2024-06-06
  • MyBatis insert語句返回主鍵和selectKey標(biāo)簽方式

    MyBatis insert語句返回主鍵和selectKey標(biāo)簽方式

    這篇文章主要介紹了MyBatis insert語句返回主鍵和selectKey標(biāo)簽方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • spring強(qiáng)行注入和引用實(shí)例解析

    spring強(qiáng)行注入和引用實(shí)例解析

    這篇文章主要介紹了spring強(qiáng)行注入和引用實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • IDEA?Error:java:無效的源發(fā)行版:13的解決過程

    IDEA?Error:java:無效的源發(fā)行版:13的解決過程

    之前用idea運(yùn)行時(shí),也會(huì)出現(xiàn)這種情況,后面通過網(wǎng)上的資料解決了這個(gè)問題,下面這篇文章主要給大家介紹了關(guān)于IDEA?Error:java:無效的源發(fā)行版:13的解決過程,需要的朋友可以參考下
    2023-01-01
  • Java之a(chǎn)pi網(wǎng)關(guān)斷言及過濾器案例講解

    Java之a(chǎn)pi網(wǎng)關(guān)斷言及過濾器案例講解

    這篇文章主要介紹了Java之a(chǎn)pi網(wǎng)關(guān)斷言及過濾器案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • CentOS安裝solr 4.10.3詳細(xì)教程

    CentOS安裝solr 4.10.3詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了CentOS安裝solr 4.10.3的詳細(xì)教程 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評(píng)論