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

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

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

舉個例子: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(已經是我們想要的結果了)。

代碼如下:

復制代碼 代碼如下:

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ā)生位置變化,說明已經排序完畢,就沒有必要再進行判斷了
            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;
    }

}

相關文章

  • springboot返回圖片流的實現示例

    springboot返回圖片流的實現示例

    本文主要介紹了springboot返回圖片流的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • java數組復制的四種方法效率對比

    java數組復制的四種方法效率對比

    這篇文章主要介紹了java數組復制的四種方法效率對比,文中有簡單的代碼示例,以及效率的比較結果,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Java發(fā)送post方法詳解

    Java發(fā)送post方法詳解

    這篇文章主要介紹了Java發(fā)送post方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • springboot?使用clickhouse實時大數據分析引擎(使用方式)

    springboot?使用clickhouse實時大數據分析引擎(使用方式)

    這篇文章主要介紹了springboot?使用clickhouse實時大數據分析引擎的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-02-02
  • Java synchronized關鍵_動力節(jié)點Java學院整理

    Java synchronized關鍵_動力節(jié)點Java學院整理

    在java中,每一個對象有且僅有一個同步鎖。這也意味著,同步鎖是依賴于對象而存在。下面通過本文給大家介紹synchronized原理 及基本規(guī)則,感興趣的朋友一起學習吧
    2017-05-05
  • 詳解spring與jdbc整合操作

    詳解spring與jdbc整合操作

    這篇文章主要為大家詳細介紹了spring與jdbc整合操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java垃圾回收器的方法和原理總結

    Java垃圾回收器的方法和原理總結

    本篇文章主要介紹了Java垃圾回收器的方法和原理總結,Java垃圾回收器是Java虛擬機的重要模塊,具有一定的參考價值,有興趣的可以了解一下。
    2016-12-12
  • Java實現插入排序實例

    Java實現插入排序實例

    這篇文章主要介紹了Java實現插入排序,實例分析了Java的插入排序原理與實現技巧,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • Java源碼解析之object類

    Java源碼解析之object類

    前些天看到別人討論閱讀源碼有什么用這個問題,有一句話說的特別好:學習別人實現某個功能的設計思路,來提高自己的編程水平。本文主要介紹了Java源碼解析之object類,需要的朋友可以參考。
    2017-10-10
  • SpringBoot實現自定義指標監(jiān)控功能

    SpringBoot實現自定義指標監(jiān)控功能

    本文主要介紹了SpringBoot實現自定義指標監(jiān)控功能的實現,,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,感興趣的小伙伴跟著著小編來一起來學習吧
    2024-01-01

最新評論