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

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

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

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

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

2、我們自定義一個排序的函數(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ā)生在需要交換時才執(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)是一種簡單且有效的比較排序算法,在每次迭代過程中算法隨機(jī)的從輸入序列中移除一個元素,并將該元素插入到排序序列中正確的位置,重復(fù)該過程,知道所有元素都被選擇一次。

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)又稱縮小增量排序,該算法是一個泛化的插入排序。

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

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

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

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

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

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

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

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

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

    Java集成presto查詢方式

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

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

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

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

    這篇文章主要介紹了java如何獲取系統(tǒng)CPU、內(nèi)存占用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    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),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

富裕县| 汝城县| 高邮市| 四子王旗| 佛山市| 贡嘎县| 晋中市| 东乌珠穆沁旗| 长沙市| 西华县| 江西省| 台湾省| 泽库县| 丰宁| 海淀区| 镇江市| 望都县| 新源县| 阿克陶县| 河北省| 托克逊县| 和政县| 边坝县| 兴文县| 汝州市| 鞍山市| 察雅县| 明水县| 海兴县| 宜春市| 鄂伦春自治旗| 麻栗坡县| 重庆市| 广水市| 波密县| 宜春市| 尼勒克县| 永泰县| 牟定县| 通海县| 临清市|