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

java數(shù)據(jù)結(jié)構(gòu)與算法之冒泡排序詳解

 更新時間:2017年05月03日 10:52:48   作者:android小豬  
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之冒泡排序,結(jié)合實例形式詳細(xì)分析了java冒泡排序的原理、實現(xiàn)技巧與相關(guān)注意事項,需要的朋友可以參考下

本文實例講述了java數(shù)據(jù)結(jié)構(gòu)與算法之冒泡排序。分享給大家供大家參考,具體如下:

前面文章講述的排序算法都是基于插入類的排序,這篇文章開始介紹交換類的排序算法,即:冒泡排序、快速排序(冒泡排序的改進)。

交換類的算法:通過交換逆序元素進行排序的方法。

冒泡排序:反復(fù)掃描待排序記錄序列,在掃描的過程中,順次比較相鄰的兩個元素的大小,若逆序就交換位置。

算法實現(xiàn)代碼如下:

package exp_sort;
public class BubbleSort {
  public static void bubble(int array[]) {
    boolean change = true;
    for (int i = 0; i < array.length && change; i++) {
      change = false;
      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;
          change = true;
        }
      }
    }
    for (int i = 0; i < array.length; i++) {
      System.out.print(array[i] + " ");
    }
    System.out.println("\n");
  }
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    int array[] = { 38, 62, 35, 77, 55, 14, 35, 98 };
    bubble(array);
  }
}

算法分析:最好的情況是,需要排序的初始狀態(tài)是正序排列的,則一趟掃描即可完成,此時時間復(fù)雜度是O(n);最壞情況是,需要排序的初始狀態(tài)是反序的,則需要n-1趟掃描,此時時間復(fù)雜度是O(n^2),空間復(fù)雜度是O(1);該算法是一種穩(wěn)定的排序方法。

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

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

相關(guān)文章

  • Spring?boot?運用策略模式實現(xiàn)避免多次使用if

    Spring?boot?運用策略模式實現(xiàn)避免多次使用if

    這篇文章主要介紹了Spring?boot?運用策略模式實現(xiàn)避免多次使用if,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • java實現(xiàn)圖片的上傳與展示實例代碼

    java實現(xiàn)圖片的上傳與展示實例代碼

    這篇文章主要給大家介紹了關(guān)于java實現(xiàn)圖片的上傳與展示的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Mybatis-Plus BaseMapper的用法詳解

    Mybatis-Plus BaseMapper的用法詳解

    這篇文章主要介紹了Mybatis-Plus BaseMapper的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java將Word文檔轉(zhuǎn)換為PDF文件的幾種常用方法總結(jié)

    Java將Word文檔轉(zhuǎn)換為PDF文件的幾種常用方法總結(jié)

    這篇文章主要介紹了Java將Word文檔轉(zhuǎn)換為PDF文件的四種常用方法,分別使用ApachePOI+iText、Aspose.Words?for?Java、Docx4j和JODConverter,這些庫各有優(yōu)點,但在使用時需要注意庫與Java環(huán)境的兼容性、安裝所需依賴、轉(zhuǎn)換速度和資源消耗,需要的朋友可以參考下
    2024-10-10
  • Spring?Boot如何配置yml配置文件定義集合、數(shù)組和Map

    Spring?Boot如何配置yml配置文件定義集合、數(shù)組和Map

    這篇文章主要介紹了Spring?Boot?優(yōu)雅配置yml配置文件定義集合、數(shù)組和Map,包括Spring?Boot?yml配置文件定義基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的方式,需要的朋友可以參考下
    2023-10-10
  • Spring Boot配置application.yml及根據(jù)application.yml選擇啟動配置的操作方法

    Spring Boot配置application.yml及根據(jù)application.yml選擇啟動配置的操作

    Spring Boot中可以選擇applicant.properties 作為配置文件,也可以通過在application.yml中進行配置,讓Spring Boot根據(jù)你的選擇進行加載啟動配置文件,本文給大家介紹Spring Boot配置application.yml及根據(jù)application.yml選擇啟動配置的操作方法,感興趣的朋友一起看看吧
    2023-10-10
  • 流式圖表拒絕增刪改查之框架搭建過程

    流式圖表拒絕增刪改查之框架搭建過程

    這篇文章主要為大家介紹了流式圖表拒絕增刪改查之框架搭建過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • SpringBoot如何統(tǒng)一JSON信息返回

    SpringBoot如何統(tǒng)一JSON信息返回

    這篇文章主要介紹了SpringBoot如何統(tǒng)一JSON信息返回問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java?獲取本機IP地址的實例代碼

    Java?獲取本機IP地址的實例代碼

    這篇文章主要介紹了Java?獲取本機IP地址,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 關(guān)于BufferedReader的讀取效率問題

    關(guān)于BufferedReader的讀取效率問題

    這篇文章主要介紹了關(guān)于BufferedReader的讀取效率問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論

布拖县| 彭泽县| 鄄城县| 苏尼特右旗| 凭祥市| 娄烦县| 焉耆| 天峻县| 五大连池市| 万山特区| 靖远县| 普兰店市| 庄河市| 正定县| 华宁县| 民县| 泸水县| 和顺县| 永城市| 锦州市| 兴业县| 墨玉县| 黑河市| 平果县| 江油市| 建水县| 宜兰市| 隆子县| 宁蒗| 桐庐县| 孝感市| 瑞安市| 斗六市| 铜川市| 霍林郭勒市| 常州市| 年辖:市辖区| 平远县| 连南| 肇源县| 伊金霍洛旗|