最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

總結(jié)Java常用排序算法

 更新時(shí)間:2019年03月01日 10:44:19   投稿:laozhang  
在本文里我們給大家整理了關(guān)于Java常用排序算法以及實(shí)例代碼分析,需要的朋友們跟著學(xué)習(xí)下。

排序算法常用的有冒泡排序,選擇排序和插入排序,下面將用Java語(yǔ)言實(shí)現(xiàn)這三種排序方式,并且介紹一種由插入排序拓展出來(lái)的希爾排序。

1、冒泡排序(BubbleSort)是一種最簡(jiǎn)單的排序算法。它的基本思想是迭代地對(duì)輸入序列的第一個(gè)元素到最后一個(gè)元素進(jìn)行倆倆比較,當(dāng)滿足條件時(shí)交換這倆個(gè)元素的位置,該過(guò)程持續(xù)到不需要執(zhí)行上述過(guò)程的條件時(shí)。

2、我們自定義一個(gè)排序的函數(shù)為sorter(int[]array);

  private static void sorter(int[] array)     for(int i=0;i<array.length-1;i++) {      for(int j=0;j<array.length-i-1;j++) {        if(array[j]>array[j+1]) {          int temp = array[j];          array[j] = array[j+1];          array[j+1] = temp;        }      }    }  }

完整代碼如下圖:

3、運(yùn)行結(jié)果如下:

1、選擇排序

選擇排序(SelectSort)是一種原地(in-place)排序算法,適用于小文件。選擇排序是基于鍵值并且交換是發(fā)生在需要交換時(shí)才執(zhí)行,所以選擇排序常用于數(shù)值較大和鍵值較小文件。

2、

private static void sorter(int[] array)     for(int i=0;i<array.length-1;i++) {      int index = i;      for(int j=index;j<array.length-1;j++) {        if(array[index]>array[j+1]) {          index = j+1;        }      }      int temp = array[index];      array[index] = array[i];      array[i] = temp;    }  }

  

3、運(yùn)行結(jié)果

1、插入排序

插入排序(InsertionSort)是一種簡(jiǎn)單且有效的比較排序算法,在每次迭代過(guò)程中算法隨機(jī)的從輸入序列中移除一個(gè)元素,并將該元素插入到排序序列中正確的位置,重復(fù)該過(guò)程,知道所有元素都被選擇一次。

2、

 

private static void sorter(int[] array)     for(int i=1;i<array.length;i++) {      int temp = array[i];      int j = i;      while(j>0&&temp<array[j-1]) {        array[j] = array[j-1];        j--;      }      array[j] = temp;    }  }

3、運(yùn)行結(jié)果

1、希爾排序

希爾排序(ShellSort)又稱縮小增量排序,該算法是一個(gè)泛化的插入排序。

2、

public static void sorter(int[]array) {    for(int gap=array.length/2;gap>0;gap/=2) {      for(int i=gap;i<array.length;i++) {        int temp = array[i];        int j = i;        if(array[j]<array[j-1]) {          while(j-gap>=0&&temp<array[j-gap]) {            array[j] = array[j-gap];            j-=gap;          }          array[j] = temp;        }      }    }  }

3、運(yùn)行結(jié)果

相關(guān)文章

  • Java中String字符串使用避坑指南

    Java中String字符串使用避坑指南

    Java中的String字符串是我們?nèi)粘>幊讨杏玫米疃嗟念愔?看似簡(jiǎn)單的String使用,卻隱藏著不少“坑”,如果不注意,可能會(huì)導(dǎo)致性能問(wèn)題、意外的錯(cuò)誤容易造成線上事故( OOM),服務(wù)器崩潰,甚至難以察覺(jué)的Bug!今天我們就來(lái)聊聊String使用中的一些常見坑點(diǎn),以及如何優(yōu)雅避坑
    2025-02-02
  • 基于Java實(shí)現(xiàn)一個(gè)自己的HTTP瀏覽器

    基于Java實(shí)現(xiàn)一個(gè)自己的HTTP瀏覽器

    這篇文章主要為大家詳細(xì)介紹了如何基于Java實(shí)現(xiàn)一個(gè)自己的HTTP瀏覽器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • SpringBoot集成P6Spy實(shí)現(xiàn)SQL日志的記錄詳解

    SpringBoot集成P6Spy實(shí)現(xiàn)SQL日志的記錄詳解

    P6Spy是一個(gè)框架,它可以無(wú)縫地?cái)r截和記錄數(shù)據(jù)庫(kù)活動(dòng),而無(wú)需更改現(xiàn)有應(yīng)用程序的代碼。一般我們使用的比較多的是使用p6spy打印我們最后執(zhí)行的sql語(yǔ)句
    2022-11-11
  • Java基礎(chǔ)教程之final關(guān)鍵字淺析

    Java基礎(chǔ)教程之final關(guān)鍵字淺析

    這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之final關(guān)鍵字的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 十大常見Java String問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    十大常見Java String問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    本文介紹Java中關(guān)于String最常見的10個(gè)問(wèn)題,需要的朋友參考下吧
    2017-04-04
  • Java集成presto查詢方式

    Java集成presto查詢方式

    這篇文章主要介紹了Java集成presto查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java生態(tài)/Redis中使用Lua腳本的過(guò)程

    Java生態(tài)/Redis中使用Lua腳本的過(guò)程

    這篇文章主要介紹了Java生態(tài)/Redis中如何使用Lua腳本,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • java如何獲取系統(tǒng)CPU、內(nèi)存占用

    java如何獲取系統(tǒng)CPU、內(nèi)存占用

    這篇文章主要介紹了java如何獲取系統(tǒng)CPU、內(nèi)存占用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 學(xué)習(xí)Java HashMap,看這篇就夠了

    學(xué)習(xí)Java HashMap,看這篇就夠了

    這篇文章主要介紹了Java HashMap的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • java實(shí)現(xiàn)水果超市管理系統(tǒng)

    java實(shí)現(xiàn)水果超市管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)水果超市管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評(píng)論

富民县| 南安市| 平和县| 临安市| 林州市| 同仁县| 台北县| 梁平县| 万山特区| 琼中| 镇康县| 怀宁县| 齐河县| 孝昌县| 荣昌县| 南充市| 高青县| 双流县| 泸溪县| 方山县| 商洛市| 寻乌县| 井研县| 纳雍县| 纳雍县| 凉城县| 昭觉县| 尼木县| 霍州市| 福海县| 阜新市| 蒲江县| 西平县| 韩城市| 卫辉市| 云安县| 札达县| 彰化县| 门源| 利辛县| 阆中市|