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

詳解Java冒泡排序

 更新時(shí)間:2018年02月26日 09:39:46   作者:彬菌  
本篇文章通過(guò)代碼實(shí)例給大家詳細(xì)分析了Java冒泡排序的原理,有興趣的朋友可以學(xué)習(xí)下。

先貼出代碼(從小到大排序):

public class BubbleSort { 
  public static void main(String args[]){ 
    double[] a={0,1,5,9,10,2,4,6,3,7,8,-3,0.4,-2.5}; 
    for (int i=0;i<a.length-1;i++){ //外層循環(huán)控制排序趟數(shù)
      for (int j=0;j<a.length-i-1;j++){ //內(nèi)層循環(huán)控制每一趟排序多少次
        if (a[j]>a[j+1]){ //兩兩數(shù)值判斷
          double num=a[j]; 
          a[j]=a[j+1]; //把大的值交換到后面
          a[j+1]=num; //把小的值交換到后面
        } 
      } 
    } 
    for(double k:a){ //foreach循環(huán)輸出
    	System.out.println(k);
    }
//   for (int k=0;k<a.length;k++){ //普通for循環(huán)
//   System.out.println(a[k]); 
// }
  } 
} 

注意:如需從大到小排列,修改if語(yǔ)句的大于符號(hào)即可

注解:a.length-1和j<a.length-i-1

舉例說(shuō)明:要排序數(shù)組:int[] arr={6,3,8,2,9,1}; (注解來(lái)源:http://www.dbjr.com.cn/article/68204.htm

第一趟排序:(i)

第一次排序:6和3比較,6大于3,交換位置: 3 6 8 2 9 1

第二次排序:6和8比較,6小于8,不交換位置:3 6 8 2 9 1

第三次排序:8和2比較,8大于2,交換位置: 3 6 2 8 9 1

第四次排序:8和9比較,8小于9,不交換位置:3 6 2 8 9 1

第五次排序:9和1比較:9大于1,交換位置: 3 6 2 8 1 9

第一趟總共進(jìn)行了5(j)次比較, 排序結(jié)果: 3 6 2 8 1 9

第二趟排序:(i)

第一次排序:3和6比較,3小于6,不交換位置:3 6 2 8 1 9

第二次排序:6和2比較,6大于2,交換位置: 3 2 6 8 1 9

第三次排序:6和8比較,6大于8,不交換位置:3 2 6 8 1 9

第四次排序:8和1比較,8大于1,交換位置: 3 2 6 1 8 9

第二趟總共進(jìn)行了4(j)次比較, 排序結(jié)果: 3 2 6 1 8 9

第三趟排序:(i)

第一次排序:3和2比較,3大于2,交換位置: 2 3 6 1 8 9

第二次排序:3和6比較,3小于6,不交換位置:2 3 6 1 8 9

第三次排序:6和1比較,6大于1,交換位置: 2 3 1 6 8 9

第二趟總共進(jìn)行了3(j)次比較, 排序結(jié)果: 2 3 1 6 8 9

第四趟排序:(i)

第一次排序:2和3比較,2小于3,不交換位置:2 3 1 6 8 9

第二次排序:3和1比較,3大于1,交換位置: 2 1 3 6 8 9

第二趟總共進(jìn)行了2(j)次比較, 排序結(jié)果: 2 1 3 6 8 9

第五趟排序:(i)

第一次排序:2和1比較,2大于1,交換位置: 1 2 3 6 8 9

第二趟總共進(jìn)行了1(j)次比較, 排序結(jié)果: 1 2 3 6 8 9

最終結(jié)果:1 2 3 6 8 9

相關(guān)文章

  • Java中利用Alibaba開(kāi)源技術(shù)EasyExcel來(lái)操作Excel表的示例代碼

    Java中利用Alibaba開(kāi)源技術(shù)EasyExcel來(lái)操作Excel表的示例代碼

    這篇文章主要介紹了Java中利用Alibaba開(kāi)源技術(shù)EasyExcel來(lái)操作Excel表的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java中Bean轉(zhuǎn)Map問(wèn)題歸納總結(jié)

    Java中Bean轉(zhuǎn)Map問(wèn)題歸納總結(jié)

    Java Bean轉(zhuǎn)Map的坑很多,最常見(jiàn)的就是類型丟失和屬性名解析錯(cuò)誤的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Java中Bean轉(zhuǎn)Map問(wèn)題歸納總結(jié)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Springboot整合Shiro之加鹽MD5加密的方法

    Springboot整合Shiro之加鹽MD5加密的方法

    這篇文章主要介紹了Springboot整合Shiro之加鹽MD5加密的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12
  • maven依賴版本沖突如何處理

    maven依賴版本沖突如何處理

    文章主要介紹了Maven依賴版本沖突的原因以及如何處理版本沖突的方法,包括使用exclusions排除依賴和使用dependencyManagement鎖定版本號(hào)
    2025-01-01
  • JFinal使用ajaxfileupload實(shí)現(xiàn)圖片上傳及預(yù)覽

    JFinal使用ajaxfileupload實(shí)現(xiàn)圖片上傳及預(yù)覽

    這篇文章主要為大家詳細(xì)介紹了JFinal使用ajaxfileupload實(shí)現(xiàn)圖片上傳及預(yù)覽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Google?Kaptcha驗(yàn)證碼生成的使用實(shí)例說(shuō)明

    Google?Kaptcha驗(yàn)證碼生成的使用實(shí)例說(shuō)明

    這篇文章主要為大家介紹了Google?Kaptcha驗(yàn)證碼的使用實(shí)例說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • MDC在多線程中的使用方式

    MDC在多線程中的使用方式

    這篇文章主要介紹了MDC在多線程中的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java枚舉類enum介紹

    Java枚舉類enum介紹

    這篇文章主要介紹了Java枚舉類enum介紹,和其它普通類一樣,enum同樣可以有成員變量、方法、構(gòu)造器,也可以實(shí)現(xiàn)一個(gè)或多個(gè)接口,需要的朋友可以參考下
    2015-04-04
  • Java方法重載和重寫(xiě)原理區(qū)別解析

    Java方法重載和重寫(xiě)原理區(qū)別解析

    這篇文章主要介紹了Java方法重載和重寫(xiě)原理區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java filter中的chain.doFilter使用詳解

    Java filter中的chain.doFilter使用詳解

    這篇文章主要介紹了Java filter中的chain.doFilter使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評(píng)論