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

Java冒泡排序(Bubble Sort)實例講解

 更新時間:2013年11月22日 11:49:23   作者:  
冒泡排序的原理:假設要求的數(shù)組是正序,兩兩進行比較,如果前一個書比后一個數(shù)小,位置不變。如果前一個數(shù)比后一個數(shù)大,位置互換,再跟后一個數(shù)進行比較,直到最后。就是逐步把大數(shù)送到最后,下面來個實例給大家看看

舉個例子:int[] array = {2,4,9,7,6,5};

第一輪2和4進行比較,2<4,位置不變。再4和9進行比較,4<9,位置不變。再9和7進行比較,9>7,9和7的位置互換。再9和6進行比較,9>6,9和6的位置互換。再9和5進行比較,9>5,位置互換。第一輪比較的結果就是2 4 7 6 5 9。

第二輪2和4進行比較,2<4,位置不變。再4和7進行比較,4<7,位置不變。再7和5進行比較,7>6,7和6的位置互換。再7和5進行比較,7>5,7和5的位置互換。第二輪的結果就是2 4 6 5 7 9。

第三輪2和4進行比較,2<4,位置不變。再4和6進行比較,4<6,位置不變。再6和5進行比較,6>5,6和5的位置互換。第三輪的結果是2 4 5 6 7 9(已經(jīng)是我們想要的結果了)。

代碼如下:

復制代碼 代碼如下:

package com.test;

public class BubbleSortTest
{
    public static void main(String[] args)
    {
        int[] array = {2,4,9,7,6,5};
        BubbleSortTest bst = new BubbleSortTest();
        bst.bubbleSort(array);
    }

    public int[] bubbleSort(int[] array)
    {
        for(int i=0;i<array.length-1;i++)
        {
            boolean bl = true;
            for(int j=0;j<array.length-1-i;j++)
            {
                if(array[j] > array[j+1])
                {
                    bl = false;
                    int temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }              
            }

            //如果當輪沒有發(fā)生位置變化,說明已經(jīng)排序完畢,就沒有必要再進行判斷了
            if(bl)
            {
                break;
            }

            /*--觀看結果的代碼,可以忽略---------------------*/
            System.out.println("第" + (i + 1) + "趟排序");
            for(int k = 0; k < array.length; k++)
            {
                System.out.print(array[k] + " ");
            }
            System.out.println();
            /*-------------------------------------*/

        }
        return array;
    }

}

相關文章

  • Java調用MySQL存儲過程并獲得返回值的方法

    Java調用MySQL存儲過程并獲得返回值的方法

    這篇文章主要介紹了Java調用MySQL存儲過程并獲得返回值的方法,實例分析了java實現(xiàn)MySQL存儲過程的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中Stream使用過程中的一個注意事項,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2017-11-11
  • java實現(xiàn)歸并排序算法

    java實現(xiàn)歸并排序算法

    在學習算法的過程中,我們難免會接觸很多和排序相關的算法??偠灾瑢τ谌魏尉幊倘藛T來說,基本的排序算法是必須要掌握的。那么現(xiàn)在我們將要進行基本的歸并排序算法的講解
    2016-01-01
  • Mybatis使用大于等于或小于等于進行比較

    Mybatis使用大于等于或小于等于進行比較

    本文主要介紹了Mybatis使用大于等于或小于等于進行比較,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • MyBatis?超詳細講解動態(tài)SQL的實現(xiàn)

    MyBatis?超詳細講解動態(tài)SQL的實現(xiàn)

    動態(tài)?SQL?是?MyBatis?的強大特性之一。如果你使用過?JDBC?或其它類似的框架,你應該能理解根據(jù)不同條件拼接?SQL?語句有多痛苦,例如拼接時要確保不能忘記添加必要的空格,還要注意去掉列表最后一個列名的逗號。利用動態(tài)?SQL,可以徹底擺脫這種痛苦
    2022-03-03
  • Java class文件格式之常量池_動力節(jié)點Java學院整理

    Java class文件格式之常量池_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了Java class文件格式之常量池的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Java?Bluetooth?藍牙通訊?BlueCove?掃描附近的藍牙設備(測試代碼)

    Java?Bluetooth?藍牙通訊?BlueCove?掃描附近的藍牙設備(測試代碼)

    BlueCove是一個開源的藍牙協(xié)議棧實現(xiàn),旨在為Java開發(fā)者提供一個全面的、易于使用的API,從而在應用程序中實現(xiàn)藍牙功能,該項目支持多種操作系統(tǒng),這篇文章主要介紹了Java?Bluetooth?藍牙通訊?BlueCove?掃描附近的藍牙設備,需要的朋友可以參考下
    2025-01-01
  • SpringAop實現(xiàn)原理及代理模式詳解

    SpringAop實現(xiàn)原理及代理模式詳解

    Spring的AOP就是通過動態(tài)代理實現(xiàn)的,使用了兩個動態(tài)代理,分別是JDK的動態(tài)代理和CGLIB動態(tài)代理,本文重點給大家介紹下SpringAop實現(xiàn)原理及代理模式,感興趣的朋友一起看看吧
    2022-04-04
  • 詳細SpringBoot生命周期接口的使用

    詳細SpringBoot生命周期接口的使用

    本文主要介紹了SpringBoot生命周期接口的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • 詳解HttpClient用法

    詳解HttpClient用法

    HttpClient是Apache Jakarta Common下的子項目,用來提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶端編程工具包,并且它支持HTTP協(xié)議最新的版本和建議,這篇文章主要介紹了詳解HttpClient用法,需要的朋友可以參考下
    2021-01-01

最新評論

广元市| 和田市| 三河市| 嘉义市| 汉川市| 芮城县| 五峰| 新平| 金昌市| 巴里| 德惠市| 礼泉县| 京山县| 长岭县| 福海县| 浪卡子县| 赞皇县| 中方县| 梅州市| 齐齐哈尔市| 中阳县| 鸡东县| 乾安县| 抚松县| 辽阳市| 青岛市| 黄冈市| 南皮县| 奈曼旗| 鹤峰县| 呼玛县| 平泉县| 延吉市| 如皋市| 稻城县| 柳江县| 金坛市| 贡嘎县| 信丰县| 双鸭山市| 中宁县|